两表连接查询的问题
时间:2021-07-01 10:21:17
帮助过:34人阅读
表A
id title
1 姓名
2 单位
3 年龄
--------------------------
表B
id pid content
1 1 张三
2 2 计生委
3 1 李四
4 2 发改委
5 3 46
6 1 赵五
7 2 财政部
--------------------------
想连接两表实现输出如下:
id title pid content
1 姓名 1 张三
2 单位 2 计生委
3 年龄 null null
1 姓名 1 张三
2 单位 2 计生委
3 年龄 3 46
1 姓名 1 张三
2 单位 2 计生委
3 年龄 null null
===========================
请问sql语句如何实现,想了很久
目前我试过单纯用左连接无法输出一个两个B表null行
回复讨论(解决方案)
join left on 表A.id=表B.pid
应该就可以了,不知你是如何写的
Select * from a left join b on a.id=b.pid
无法列出两行NULL
如果只查询一组,如只查询表A的前三行和表B的前两行,是可以列出共三行,最后一行content为NULL的情况的
而如果是全部一起查询,因为表B中有一项(id=5)符合表A的(id=3),故不会返回两行NULL
只返回和B表一样的共七行
在SQL版块得到答案了