当前位置:   article > 正文

sql查询 exists(not exists)与in(not in)_sql delete not exists

sql delete not exists

查询:
1.在SQL中使用EXISTS
从TEST_TB01中查询出在TEST_TB02中存在的记录,关联条件是两个表的id相等。

SELECT
aa.sensor_id,aa.part_id,aa.flag
FROM
TEST_TB01 aa
WHERE EXISTS
(SELECT 1 FROM
TEST_TB02 bb
WHERE aa.sensor_id = bb.sensor_id);

2.在SQL中使用NOT EXISTS
SELECT
aa.sensor_id,aa.part_id,aa.flag
FROM
TEST_TB01 aa
WHERE NOT EXISTS
(SELECT 1 FROM
TEST_TB02 bb
WHERE aa.sensor_id = bb.sensor_id);

3.在SQL中使用多个NOT EXISTS
SELECT
aa.sensor_id,aa.part_id,aa.flag
FROM
TEST_TB01 aa
WHERE NOT EXISTS
(SELECT 1 FROM
TEST_TB02 bb
WHERE aa.sensor_id = bb.sensor_id)
AND NOT EXISTS
(SELECT 1 FROM
TEST_TB03 cc
WHERE aa.sensor_id = cc.sensor_id);

4.在SQL中使用多个EXISTS
SELECT
aa.sensor_id,aa.part_id,aa.flag
FROM
TEST_TB01 aa
WHERE EXISTS
(SELECT 1 FROM
TEST_TB02 bb
WHERE aa.sensor_id = bb.sensor_id)
AND EXISTS
(SELECT 1 FROM
TEST_TB03 cc
WHERE aa.sensor_id = cc.sensor_id);
5.在SQL中使用NOT EXISTS和EXISTS
SELECT
aa.sensor_id,aa.part_id,aa.flag
FROM
TEST_TB01 aa
WHERE EXISTS
(SELECT 1 FROM
TEST_TB02 bb
WHERE aa.sensor_id = bb.sensor_id)
AND NOT EXISTS
(SELECT 1 FROM
TEST_TB03 cc
WHERE aa.sensor_id = cc.sensor_id);

6、在DELETE语句中使用EXISTS
DELETE FROM
TEST_TB01 aa
WHERE EXISTS
(SELECT 1 FROM
TEST_TB02 bb
WHERE aa.sensor_id = bb.sensor_id);

7、在UPDATE语句中使用EXISTS

UPDATE TEST_TB01 aa
SET (aa.part_id, aa.flag) =
(SELECT bb.part_id, bb.flag
FROM TEST_TB02 bb
WHERE aa.sensor_id = bb.sensor_id)
WHERE EXISTS
(SELECT 1 FROM TEST_TB02 cc
WHERE aa.sensor_id = cc.sensor_id);
In 语法
8、使用列值列表进行匹配:
SELECT 字段名
FROM 数据表
WHERE 字段名 IN(数据值_1,数据值_2,…)
9、使用子查询返回多个结果进行匹配:
SELECT *
FROM 表名
WHERE 列名 IN (SELECT 列名 FROM 表名 WHERE 条件)

10、使用子查询返回单个结果进行匹配:

SELECT *
FROM 表名
WHERE 列名 IN (SELECT 列名 FROM 表名 WHERE 条件 LIMIT 1)

11、使用多个列进行匹配:

SELECT *
FROM 表名
WHERE (列名1, 列名2) IN (SELECT 列名1, 列名2 FROM 表名 WHERE 条件)

12、IN与EXISTS的区别:

IN 运算符用于比较单个值或列与一组值,而 EXISTS 运算符用于检查子查询是否返回结果。
IN 运算符将整个列表与主查询比较,而 EXISTS 运算符只需找到符合条件的一行即可。
IN 运算符适用于静态数据列表,而 EXISTS 运算符适用于动态或复杂的子查询。

要选择使用 IN 还是 EXISTS,取决于查询的需求和性能。通常来说,EXISTS 运算符在处理大量数据时效率更高,因为它可以提前停止搜索一旦找到匹配的结果。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/447791
推荐阅读
  

闽ICP备14008679号