left join 后有多个条件时应该怎么写才能正确的显示出想要的结果呢?来看下面两个sql例子。
Table a
Id | name |
01 | A |
02 | B |
04 | C |
Table b
Id | size |
01 | 4 |
02 | 7 |
03 | 5 |
Select a.id,a.name,b.id,b.size from a left join b on a.id=b.id where a.id=01
a.id | a.name | b.id | b.size |
01 | A | 01 | 4 |
该 sql整体上是where 子查询,即先执行左连接,后执行where子查询。
Select a.id,a.name,b.id,b.size from a left join b on (a.id=b.id and a.id=01)
a.id | a.name | b.id | b.size |
01 | A | 01 | 4 |
02 | B |
|
|
04 | C |
|
|
该 sql整体是个左连接,括号里的条件不管有多少个都可以看成是一个条件,所以左边的表的记录都应该存在。