本文共 556 字,大约阅读时间需要 1 分钟。
left join在实际应用中并不是查出数据都是左边的全部数据,为什么呢?看看自己的解决方法吧
SELECT T.xx, T1.xx, ... FROM xxx T LEFT JOIN xxx T1 ON T.ID = T1.ID WHERE T.xx = xx and T1.xx= xx本来想查T表所有符合条件的数据,但是结果查出来不是,怎么办呢,不急,现在看看解决方法吧,当然如果不正确的话,欢迎指出哦
1.在left join后增加WHERE条件中关于T1的过滤条件
SELECT T.xx, T1.xx, ... FROM xxx T LEFT JOIN (SELECT xx,xx2,... FROM xxx WHERE xx= x) T1 ON T.ID = T1.ID WHERE T.xx = xx2.将WHERE后的条件放在on后面,去掉WHERE条件
SELECT T.xx, T1.xx, ... FROM xxx T LEFT JOIN xxx T1 ON T.ID = T1.ID AND T.xx = xx AND T1.xx = xx