欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

详解SQL EXISTS 运算符

程序员文章站 2022-03-14 18:16:26
exists 运算符exists 运算符用于判断查询子句是否有记录,如果有一条或多条记录存在返回 true,否则返回 false。sql exists 语法select column_name(s)f...

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 运算符的资料请关注其它相关文章!