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 输出结果如下:

详解SQL EXISTS 运算符

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 输出结果如下:

详解SQL EXISTS 运算符

以上就是详解SQL EXISTS 运算符的详细内容,更多关于SQL EXISTS 运算符的资料请关注其它相关文章!

标签:
SQL,运算符,SQL,EXISTS,SQL,EXISTS,运算符

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“详解SQL EXISTS 运算符”
暂无“详解SQL EXISTS 运算符”评论...

P70系列延期,华为新旗舰将在下月发布

3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。

而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?

根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。