永发信息网

mysql 从哪个版本开始支持full join

答案:2  悬赏:0  手机版
解决时间 2021-04-23 02:52
  • 提问者网友:美人性情
  • 2021-04-22 14:46
mysql 从哪个版本开始支持full join
最佳答案
  • 五星知识达人网友:轮獄道
  • 2021-04-22 16:19
Oracle 、DB2、SQL Server、PostgreSQL 支持 Full JOIN 但是 MySQL 是不支持的。 可以通过 LEFT JOIN + UNIOn + RIGHT JOIN 的方式 来实现。
全部回答
  • 1楼网友:有你哪都是故乡
  • 2021-04-22 17:25
oracle 、db2、sql server、postgresql 支持 full join 但是 mysql 是不支持的。 可以通过  left join  +   union  +  right join 的方式 来实现。 下面是 测试表与测试数据 -- 学生表 create table student (   sno    int,   sname  varchar(10),   icno   int ); -- 食堂ic卡表 create table ic (   icno     int,   icname   varchar(10),   icmoney  int ); insert into student values(1, '张三', 1   ); insert into student values(2, '李四', 2   ); insert into student values(3, '王五', null); insert into ic values(1, '张三', 500 ); insert into ic values(2, '李四', 250 ); insert into ic values(3, '赵老师', 600); 下面是 sql server  使用  full  join  的结果 select   student.sno,   student.sname,   ic.icname,   ic.icmoney from   student     full join ic       on (student.icno = ic.icno); go sno         sname      icname     icmoney ----------- ---------- ---------- -----------           1 张三         张三                 500           2 李四         李四                 250           3 王五         null              null        null null       赵老师                600 (4 行受影响) 下面是 mysql 不支持 的输出结果: mysql> select     ->   student.sno,     ->   student.sname,     ->   ic.icname,     ->   ic.icmoney     -> from     ->   student     ->     full join ic     ->       on (student.icno = ic.icno); error 1054 (42s22): unknown column 'student.sno' in 'field list' 下面是 mysql 的 left join  +   union  +  right join 的方式。 mysql> select     ->   student.sno,     ->   student.sname,     ->   ic.icname,     ->   ic.icmoney     -> from     ->   student     ->     left join ic     ->       on (student.icno = ic.icno)     -> union     -> select     ->   student.sno,     ->   student.sname,     ->   ic.icname,     ->   ic.icmoney     -> from     ->   student     ->     right join ic     ->       on (student.icno = ic.icno); +------+-------+--------+---------+ | sno  | sname | icname | icmoney | +------+-------+--------+---------+ |    1 | 张三  | 张三   |     500 | |    2 | 李四  | 李四   |     250 | |    3 | 王五  | null   |    null | | null | null  | 赵老师 |     600 | +------+-------+--------+---------+ 4 rows in set (0.01 sec)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯