mysql not in和not exist
时间: 2023-04-29 18:01:34 浏览: 94
MySQL中的 NOT IN 和 NOT EXISTS 都是用来查询不符合特定条件的数据。
NOT IN 用来查询不在特定范围内的数据,其查询语句类似于:
```
SELECT * FROM table_name WHERE column_name NOT IN (value1, value2, ...);
```
NOT EXISTS 用来查询不存在于特定关联表中的数据,其查询语句类似于:
```
SELECT * FROM table_name1
WHERE NOT EXISTS (
SELECT 1 FROM table_name2
WHERE table_name1.column_name = table_name2.column_name
);
```
在实际使用中,根据数据情况选择使用 NOT IN 或 NOT EXISTS。
相关问题
not in 和 not exist在mysql中的区别
在 MySQL 中,“NOT IN” 和 “NOT EXISTS” 也是两个不同的操作符,用于查询数据表中不符合条件的行。
“NOT IN” 是用于查询一个字段的值不在指定的值列表中的行,它需要在查询语句中指定一个值列表。例如,以下查询语句将返回不在指定值列表中的所有行:
```
SELECT * FROM table_name WHERE column_name NOT IN (value1, value2, value3);
```
“NOT EXISTS” 是用于查询一个表中不存在符合条件的记录的行,它需要在查询语句中使用子查询。例如,以下查询语句将返回在 table_name 表中没有对应记录的所有 rows 表中的行:
```
SELECT * FROM rows WHERE NOT EXISTS (SELECT * FROM table_name WHERE table_name.id = rows.id);
```
因此,“NOT IN” 和 “NOT EXISTS” 在 MySQL 中的区别在于,前者用于查询一个字段的值不在指定的值列表中的行,后者用于查询一个表中不存在符合条件的记录的行。
mysql not exist
MySQL中的 NOT IN 和 NOT EXISTS 都是用来查询不符合特定条件的数据。
NOT IN 用来查询不在特定范围内的数据,其查询语句类似于:
```
SELECT * FROM table_name WHERE column_name NOT IN (value1, value2, ...);
```
NOT EXISTS 用来查询不存在于特定关联表中的数据,其查询语句类似于:
```
SELECT * FROM table_name1
WHERE NOT EXISTS (
SELECT 1 FROM table_name2
WHERE table_name1.column_name = table_name2.column_name
);
```
在实际使用中,根据数据情况选择使用 NOT IN 或 NOT EXISTS。