mysql--使用full join报错
full join:存在匹配,匹配显示;同时,将各个表中不匹配的数据与空数据行匹配进行显示。可以看成是左外连接与右外连接的并集。外连接:左连接:使用 LEFT OUTER JOIN 关键字连接两个表,并使用 ON 子句来设置连接条件。外连接:右连接:右连接是左连接的反向连接。使用 RIGHT OUTER JOIN 关键字连接两个表,并使用 ON 子句来设置连接条件。报错代码SELECT * FRO
·
- full join:存在匹配,匹配显示;同时,将各个表中不匹配的数据与空数据行匹配进行显示。可以看成是左外连接与右外连接的并集。
- 外连接:左连接:使用 LEFT OUTER JOIN 关键字连接两个表,并使用 ON 子句来设置连接条件。
- 外连接:右连接:右连接是左连接的反向连接。使用 RIGHT OUTER JOIN 关键字连接两个表,并使用 ON 子句来设置连接条件。
- 报错代码
SELECT * FROM student_table;
select t1.*,t2.* from
(select * from student_table where sex = '男' ) t1
FULL JOIN
(select * from student_table where sex = '女') t2
on t1.name = t2.name ;
- 原因:MySQL中不支持FULL JOIN,FULL JOIN在Oracle中才能使用,所以在MySQL中要用左右连接来替代FULL JOIN
- 等价代码:
SELECT
t1.*, t2.*
FROM
( SELECT * FROM student_table WHERE sex = '男') t1
RIGHT JOIN
(SELECT * FROM student_table WHERE sex = '女') t2
ON t1.name = t2.name
UNION ALL
SELECT
t1.*, t2.*
FROM
(SELECT * FROM student_table WHERE sex = '男') t1
LEFT JOIN
(SELECT * FROM student_table WHERE sex = '女') t2
ON t1.name = t2.name
where t1.name is null; --过滤掉重复值
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)