将FULL OUTER JOIN 转成left join,right join 和 union

select * from A

ID NAME
4 Spaghetti
1 Pirate
2 Monkey
3 Ninja

select * from B

ID NAME
3 Darth Vade
1 Rutabaga
2 Pirate
4 Ninja

SELECT dbo.A.id, dbo.A.name, dbo.B.id, dbo.B.name FROM dbo.A FULL OUTER JOIN dbo.B ON dbo.A.name = dbo.B.name

select dbo.A.id, dbo.A.name, dbo.B.id, dbo.B.name from dbo.A LEFT OUTER JOIN dbo.B ON dbo.A.name = dbo.B.name
union
select dbo.A.id, dbo.A.name, dbo.B.id, dbo.B.name from dbo.A right OUTER JOIN dbo.B ON dbo.A.name = dbo.B.name

select dbo.A.id, dbo.A.name, dbo.B.id, dbo.B.name from dbo.A LEFT OUTER JOIN dbo.B ON dbo.A.name = dbo.B.name

union all

select dbo.A.id, dbo.A.name, dbo.B.id, dbo.B.name from dbo.A right OUTER JOIN dbo.B ON dbo.A.name = dbo.B.name WHERE dbo.A.id IS null

这三个查询结果都是一样的

id1 name1 id2 name2
1 Pirate 2 Pirate
2 Monkey NULL NULL
3 Ninja 4 Ninja
4 Spaghetti NULL NULL
NULL NULL 1 Rutabaga
NULL NULL 3 Darth Vade

sql join的区别参考 https://www.cnblogs.com/logon/p/3748020.html

最新文章

  1. angular $http 与form表单的select
  2. Sql与MySQL简单入门
  3. JavaScript----遇到的问题
  4. C#屏幕截图
  5. Tcpdump使用常用9实例
  6. android中xmlns:tools属性详解
  7. JSON详解(转)
  8. Nginx Location 语法,与简单配置[转]
  9. IOS:被误解的MVC和被神化的MVVM
  10. display: inline-block 的神奇效果
  11. Android项目实战手机安全卫士(02)
  12. hdu2818行列匹配+排序
  13. 记一次gitlab添加账号收不到邮件的解决办法
  14. 【原】Java学习笔记031 - 常用类
  15. FPGA加三移位算法:硬件逻辑实现二进制转BCD码
  16. caffe安装教程(Ubuntu14+GPU+pycaffe+anaconda2)
  17. yum 安装mongodb mysql
  18. hdu 4253(经典题目:二分+最小生成树)
  19. Rsync 软件的工作方式
  20. Asakura的魔法世界

热门文章

  1. Windows&Appium&Python自动化测试-环境搭建之安卓SDK
  2. 【转】高可用Redis(六):瑞士军刀之bitmap,HyperLoglog和GEO
  3. poj2942 Knights of the Round Table[点双+二分图染色]
  4. PHP配置文件(php.ini)详解
  5. Vmware虚拟机 centos7设置固定IP地址
  6. Codeforces Round #454 Div. 1 [ 906A A. Shockers ] [ 906B B. Seating of Students ] [ 906C C. Party ]
  7. 如何复制word的图文到ueditor中自动上传?
  8. 路由器配置——路由重分布1(rip)
  9. 【luoguP2158】 [SDOI2008]仪仗队
  10. 初次使用自己写的testbench 验证了简单的NOT门。