SQL EXISTS 运算符

简介: SQL EXISTS 运算符

EXISTS 运算符用于判断查询子句是否有记录,如果有一条或多条记录存在返回 True,否则返回 False。

SQL EXISTS 语法

SELECT column_name(s)

FROM table_name

WHERE EXISTS

(SELECT column_name FROM table_name WHERE condition);



演示数据库

在本教程中,我们将使用 RUNOOB 样本数据库。

下面是选自 "Websites" 表的数据:

+----+--------------+---------------------------+-------+---------+

| id | name         | url                       | alexa | country |

+----+--------------+---------------------------+-------+---------+

| 1  | Google       | https://www.google.cm/    | 1     | USA     |

| 2  | 淘宝       | https://www.taobao.com/   | 13    | CN      |

| 3  | 菜鸟教程 | http://www.runoob.com/    | 4689  | CN      |

| 4  | 微博       | http://weibo.com/         | 20    | CN      |

| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |

+----+--------------+---------------------------+-------+---------+

下面是 "access_log" 网站访问记录表的数据:

mysql> SELECT * FROM access_log;

+-----+---------+-------+------------+

| aid | site_id | count | date       |

+-----+---------+-------+------------+

|   1 |       1 |    45 | 2016-05-10 |

|   2 |       3 |   100 | 2016-05-13 |

|   3 |       1 |   230 | 2016-05-14 |

|   4 |       2 |    10 | 2016-05-14 |

|   5 |       5 |   205 | 2016-05-14 |

|   6 |       4 |    13 | 2016-05-15 |

|   7 |       3 |   220 | 2016-05-15 |

|   8 |       5 |   545 | 2016-05-16 |

|   9 |       3 |   201 | 2016-05-17 |

+-----+---------+-------+------------+

9 rows in set (0.00 sec)



SQL EXISTS 实例

现在我们想要查找总访问量(count 字段)大于 200 的网站是否存在。

我们使用下面的 SQL 语句:

实例

SELECT Websites.name, Websites.url FROM Websites WHERE EXISTS (SELECT count FROM access_log WHERE Websites.id = access_log.site_id AND count > 200);

执行以上 SQL 输出结果如下:

EXISTS 可以与 NOT 一同使用,查找出不符合查询语句的记录:

实例

SELECT Websites.name, Websites.url FROM Websites WHERE NOT EXISTS (SELECT count FROM access_log WHERE Websites.id = access_log.site_id AND count > 200);

执行以上 SQL 输出结果如下:

目录
打赏
0
5
5
1
219
分享
相关文章
|
10月前
|
SQL
SQL 的 AND、OR 和 NOT 运算符:条件筛选的高级用法
SQL的AND运算符用于根据多个条件筛选记录,确保所有条件都为TRUE才返回记录。下面是AND运算符的基本语法:
181 1
|
10月前
|
【数据库SQL server】传统运算符与专门运算符
【数据库SQL server】传统运算符与专门运算符
157 0
SQL 中的运算符与别名:使用示例和语法详解
IN运算符允许您在WHERE子句中指定多个值,它是多个OR条件的简写
275 0
|
8月前
|
SQL AND运算符
【7月更文挑战第11天】SQL AND运算符。
46 2
|
9月前
|
db.oplog.rs.find({"ns": "your_database_name.your_collection_name", "o": {$exists: true}}).sort({$natural: -1}).limit(1) 这个SQL什么意思
【6月更文挑战第29天】db.oplog.rs.find({"ns": "your_database_name.your_collection_name", "o": {$exists: true}}).sort({$natural: -1}).limit(1) 这个SQL什么意思
93 8
深入理解 SQL UNION 运算符及其应用场景
【7月更文挑战第8天】SQL UNION 概述 `UNION` 运算符结合多个`SELECT`语句,生成不含重复行的结果集。基本语法是:`SELECT...FROM table1 UNION SELECT...FROM table2`。适用于整合相同结构数据表、不同条件查询结果及跨数据库数据。注意列数和数据类型需匹配,排序规则一致,大量操作可能影响性能。示例:合并`Students_Math`和`Students_Science`表中`StudentID`和`Grade`的数据。
137 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等