left join 后面加 and 条件
时间: 2023-12-12 10:35:57 浏览: 80
MySQL left join操作中on和where放置条件的区别介绍
left join 后面加 and 条件是指在 left join 语句中,通过在 on 后面添加 and 条件来进一步筛选左表和右表的关联数据。具体来说,and 条件会在 on 条件筛选出的关联数据的基础上再次进行筛选,只有符合 and 条件的数据才会被返回。而不符合 and 条件的数据则会被过滤掉。
下面是一个 left join 后面加 and 条件的示例:
假设有两个表 A 和 B,它们的结构如下:
表 A:
| id | name |
|----|------|
| 1 | Tom |
| 2 | Jack |
| 3 | Lucy |
表 B:
| id | age |
|----|-----|
| 1 | 20 |
| 2 | 25 |
| 4 | 30 |
现在我们想要查询表 A 和表 B 中 id 相同的记录,并且 age 大于 20 的记录。可以使用以下 SQL 语句:
```sql
SELECT A.id, A.name, B.age
FROM A
LEFT JOIN B ON A.id = B.id AND B.age > 20;
```
执行以上 SQL 语句后,会返回以下结果:
| id | name | age |
|----|------|-----|
| 1 | Tom | 20 |
| 2 | Jack | 25 |
| 3 | Lucy | NULL|
可以看到,左表 A 中的所有记录都被返回了,而右表 B 中 id 为 1 和 2 的记录都符合 on 条件,但只有 id 为 2 的记录同时符合 and 条件,因此只有这条记录被返回了。而右表 B 中 id 为 4 的记录不符合 on 条件,因此也没有被返回。
阅读全文