作业帮 > 综合 > 作业

A表 ID NAME 1 1 2 2 3 3 B表 A_ID name 1 a 1 b 2 a 查出来的结果 A_ID

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/05/23 21:46:19
A表 ID NAME 1 1 2 2 3 3 B表 A_ID name 1 a 1 b 2 a 查出来的结果 A_ID B_COUNT 1 2 2 1 3 0
SQL怎么查询?
语句怎么拼写?
A表 ID NAME
1 1
2 2
3 3
B表 A_ID name
1 a
1 b
2 a
查出来的结果
A_ID B_COUNT
1 2
2 1
3 0
A表 ID NAME 1 1 2 2 3 3 B表 A_ID name 1 a 1 b 2 a 查出来的结果 A_ID
select
ID as A_ID,
count(b.A_ID) as B_COUNT
from A
left join B on A.ID=b.A_ID
group by a.ID
再问: 如果要求B表中的NAME=a呢?
再答: select ID as A_ID, count(b.A_ID) as B_COUNT from A left join B on A.ID=B.A_ID and B.Name='a' group by A.ID --這樣只得出Name='a'的記錄數
再问: 但是这样子好像不会返回0的记录了,必须B表中有,才会返回,如果B表中没有的就不会返回任何数据集
再答: 樓主自己測一下,不會出現你說的情況 最好多動手才能有效的掌握知識點