您的位置:首页 > 数据库 > Oracle

Oracle -- left join查询结果不是左表的全部数据的解决方法

2018-01-08 11:31 417 查看
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 = xx
2.将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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐