mysql 使用a left join b时,如何过滤b中的userid!=7并保留b中为null的行
时间: 2024-04-10 18:33:24 浏览: 42
MySQL Left JOIN时指定NULL列返回特定值详解
要过滤b表中userid不等于7的行并保留b表中为null的行,您可以将过滤条件放在LEFT JOIN的ON子句中,并使用OR运算符。以下是一个示例查询:
```sql
SELECT a.*, b.*
FROM table_a a
LEFT JOIN table_b b ON a.id = b.a_id AND (b.userid <> 7 OR b.userid IS NULL);
```
在上述示例中,我们在LEFT JOIN的ON子句中添加了条件 `(b.userid <> 7 OR b.userid IS NULL)`。这将过滤掉b表中userid不等于7的行,并保留b表中为null的行。请注意,您需要根据实际情况更改表名和列名。
阅读全文