EXISTS 运算符

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

SQL EXISTS 语法

SELECT column_name(s)FROM table_nameWHERE 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   |+----+--------------+---------------------------+-------+---------+
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)

现在我们想要查找总访问量(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);

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);

更多相关文章

  1. MySQL系列多表连接查询92及99语法示例详解教程
  2. Android(安卓)- Manifest 文件 详解
  3. Android的Handler机制详解3_Looper.looper()不会卡死主线程
  4. Selector、shape详解(一)
  5. android2.2资源文件详解4--menu文件夹下的菜单定义
  6. Android发送短信方法实例详解
  7. Android(安卓)读取资源文件实例详解
  8. 详解Android中的屏幕方向
  9. Android学习笔记(10)————Android的Listview详解1(ArrayAdapte

随机推荐

  1. 不要再重复造轮子了,这款开源工具类库贼好
  2. Could not initialize derby.jdbc.Autolo
  3. Docker服务开放了这个端口,服务器分分钟变
  4. RabbitMQ实现即时通讯居然如此简单!连后端
  5. mall-swarm 微服务电商项目发布重大更新,
  6. 还在手写CRUD代码?这款开源框架助你解放双
  7. 今天开始学习C
  8. OpenYurt v0.3.0 重磅发布:全面提升边缘场
  9. 搞定Mall项目中的权限管理功能,弄懂这些问
  10. android 运用取消默认的window preview