左连接where从表
时间: 2023-09-03 22:14:19 浏览: 40
左连接的where条件通常用于限制从表的查询结果。
在左连接查询中,where条件用于过滤主表的数据。如果我们想要限制从表的数据,可以将限制条件写在on子句中。而如果我们想要限制从表的数据,可以将限制条件写在where子句中。
举个例子,假设我们有两个表TAB_1和TAB_2,我们想要查询TAB_1的所有字段和TAB_2中C='4'的记录,同时保留TAB_1中C='1'的记录。那么我们可以使用以下两种方式:
1. 在on子句中限制从表TAB_2,在where子句中限制主表TAB_1:
```
select * from TAB_1 M
left join TAB_2 N on M.A=N.A and M.B=N.B
where M.C='1' and N.C='4';
```
2. 在on子句中限制主表TAB_1,在where子句中限制从表TAB_2:
```
select * from TAB_1 M
left join TAB_2 N on M.A=N.A and M.B=N.B and M.C='1'
where N.C='4';
```
无论选择哪种方式,我们都可以通过在where子句中限制从表的条件来达到我们想要的查询结果。<em>1</em><em>2</em><em>3</em>
#### 引用[.reference_title]
- *1* [【mysql】左外连接查询中 on 和 where 的区别](https://blog.csdn.net/ZopaulCode/article/details/124755242)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item]
- *2* *3* [SQL语句理解左右连接和where](https://blog.csdn.net/Hjchidaozhe/article/details/110038893)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item]
[ .reference_list ]