A表如下
B表如下
select * from a FULL join b on a.id=b.id;
如下图所示
Oracle特殊用法可以:左连接select * from a, b where a.id=b.id(+);
但是不能select * from a, b where a.id(+)=b.id(+) 这样两边都使用+号;
Union用法是把查出来的记录加起来,而不像全连接那样形成的是笛卡尔积的形式
例如:SELECT * FROM a
UNION ALL
SELECT * FROM b
形成的记录为:
Union和union all 的区别就是 union 是去掉重复记录,例如
SELECT * FROM a
UNION
SELECT * FROM b
记录如下图:
从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据的话,那么就使用UNION ALL
尽量使用union all,因为union需要进行排序,去除重复记录,效率低
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- sarr.cn 版权所有 赣ICP备2024042794号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务