首页 > 技术文章 > MySQL左连接左表数据显示不全的原因

sds95 2020-09-10 11:44 原文

A表
id aname
1 张三
2 李四

B表
id score aid bname year
1 89 1 语文 2020
2 91 1 数学 2019


select aname,bname,score from A left join B on A.id=B.aid where year='2015'


查询结果

张三 语文 90

select aname,bname,score from A left join B on A.id=B.aid and year='2015'

查询结果

张三 语文 90
李四 null null

如果把所有的查询条件都放在WHERE里则会出现inner join的情况,所以把右表的条件放在ON后面用and连接,就会显示左表所有的数据

推荐阅读