mysql 如果查询一个字段的值没有出现在另一个字段里
时间: 2023-10-14 18:28:26 浏览: 87
你可以使用 `NOT IN` 或 `LEFT JOIN` + `WHERE` 语句来查询一个字段的值没有出现在另一个字段里。
下面是使用 `NOT IN` 的示例代码:
```sql
SELECT column1
FROM table1
WHERE column1 NOT IN (
SELECT column2
FROM table2
);
```
这个语句将会返回 `table1` 中 `column1` 值没有出现在 `table2` 中 `column2` 值的所有记录。
下面是使用 `LEFT JOIN` + `WHERE` 的示例代码:
```sql
SELECT column1
FROM table1
LEFT JOIN table2 ON table1.column1 = table2.column2
WHERE table2.column2 IS NULL;
```
这个语句将会返回 `table1` 中 `column1` 值没有出现在 `table2` 中 `column2` 值的所有记录。在这个语句中,我们使用了 `LEFT JOIN` 将两个表连接起来,并且在 `WHERE` 语句中筛选出 `table2` 中 `column2` 值为 `NULL` 的记录。
希望这个回答能够帮助到你!
相关问题
mysql查询一个字段多值
MySQL中,一个字段存储多个值的常见方法是使用逗号分隔的字符串。例如,假设有一个表t_student,其中的一个字段是hobbies,存储了学生的多个兴趣爱好。可以通过使用MySQL的内置函数FIND_IN_SET来查询一个字段的多个值。
示例查询语句:
SELECT * FROM t_student WHERE FIND_IN_SET('篮球', hobbies) > 0;
上述查询语句将返回所有兴趣爱好中包含"篮球"的学生记录。
mysql联合查询 一个字段包含另一个字段
可以使用LIKE运算符和CONCAT函数来实现这个查询。假设你有两个表A和B,A表中有一个字段name,B表中有一个字段description。你想要查找A表中name字段包含B表中description字段的所有记录,可以使用以下查询语句:
```
SELECT *
FROM A
INNER JOIN B ON A.name LIKE CONCAT('%', B.description, '%');
```
这个查询使用INNER JOIN将A表和B表连接起来,然后使用LIKE运算符和CONCAT函数来比较A表中的name字段和B表中的description字段。CONCAT函数用于将百分号(%)添加到B表中的description字段的前面和后面,以便在比较时匹配A表中的name字段。