SQL使用两次使用left join on时,为什么第二次的数据查不到?

第一次使用left join on的顺序

图片说明

第二次使用left join on的顺序
图片说明

把and条件换成where

就是和第5行后面的and有关系,第二个left join的条件包含了后面所以的条件,展示的4条数据,没有全部满足下面5个条件的数据,第二个left join的表当然得不到对应的数据。你把5、6两行注释掉再看看

找出一条数据来,看看按照你的条件能不能关联到数据。另外on后面接的是关联条件,虽然也可以接where条件,但是where条件最好还是单加个where,这样执行计划更优。