SQL中Exists的用法
SQL中Exists的用法
SQL中Exists的用法语法
EXISTS subquery
参数
subquery
是一个受限的 SELECT 语句 (不允许有 COMPUTE 子句和 INTO 关键字)。有关更多信息,请参见 Select 中有关子查询的讨论。
结果类型
Boolean
结果值
如果子查询包含行,则返回 TRUE。
说明
EXISTS(包括 NOT EXISTS )子句的返回值是一个BOOL值。 EXISTS内部有一个子查询语句(SELECT ... FROM...), 我将其称为EXIST的内查询语句。其内查询语句返回一个结果集。 EXISTS子句根据其内查询语句的结果集空或者非空,返回一个布尔值。
一种通俗的可以理解为:将外查询表的每一行,代入内查询作为检验,如果内查询返回的结果取非空值,则EXISTS子句返回TRUE,这一行行可作为外查询的结果行,否则不能作为结果。
Exists是子查询的一种条件形式,通过判断Exists的选择表达式(括号内的部分)的结果,如果存在一行或多行结果记录,则Exists整个子查询结果为真,否则为假。由于我们采用Exists来实现子查询,只需要关心是否存在满足条件的记录,所以选择表达式的选择列表采用*来实现,当然,你也可以在选择列表指明具体的某些列,但这些列将在整个搜索过程中被忽略。
Exists实例
select Resc_id from dbo.Res_Coach
where EXISTS (select * from Res_Coach where Resc_id is null)
查询原理:
遍历dbo.Res_Coach每一条,同时处理where条件(EXISTS (select * from Res_Coach where Resc_id=0) 判断结果为true或者false),为true时拿出该条,false时,放弃该条记录。
-- 1、 where条件中的子查询和主查询没关系
select Resc_id
from dbo.Res_Coach
where EXISTS (select Rese_id from dbo.Res_Excellent where Rese_id Is null )
-- 2、 where条件中得子查询和主查询有关系
select Resc_id
from dbo.Res_Coach
where EXISTS (select Resc_id from dbo.Res_Coach where Resc_id Is null )
实例备注:不管where条件中得子查询和主查询有没有关系,遍历主查询中得每一条时,判断where条件,exists结果为真,where条件返回true,拿出该条记录,where条件返回false, 不返回该记录。
Exists 和 In 的选择
如果查询的两个表大小相当,那么用in和exists差别不大。如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in
- sqlserverdatetime时区(解析SQL Server中datetimeset转换datetime类型问题)
- mysql binlog模式实际使用(实例验证MySQL|update字段为相同的值是否会记录binlog)
- mysql读写分离代码实现(MySQL Router实现MySQL的读写分离的方法)
- mysql锁技术(MySQL 加锁控制并发的方法)
- sql server设置自增(sql server建表时设置ID字段自增的简单方法)
- mysql 操作系统时区(mysql时区查看与设置方法)
- sql server 过期激活(SQL Server评估期已过问题的解决方法)
- sql如何合并多个表中的数据(SQL 列不同的表查询结果合并操作)
- mysql8.0.23.0官方安装手册(MySQL8.0.23安装超详细教程)
- sql语句去除重复记录(使用SQL语句去掉重复的记录两种方法)
- sql server查询语句语法(详解SQL Server的简单查询语句)
- mysql慢日志查询会输出插入语句吗(MySQL三种日志有啥用?如何提高MySQL并发度?)
- xampp数据库表在哪个文件夹(XAMPP集成环境中MySQL数据库的使用)
- SQL SERVER 数据库外键
- sqlserver查询信息表(SQL Server中Table字典数据的查询SQL示例代码)
- sql中where和having可以同时用吗(SQL where条件和jion on条件的详解及区别)
- 《祝卿好》台词又土又甜,就喜欢这么直接的恋爱(祝卿好台词又土又甜)
- 大女主 汤唯垂青电视圈,搭档朱亚文出演《大明皇妃孙若微传》(汤唯垂青电视圈)
- 红色代表什么(红色代表什么情感和含义)
- 高中数学题(高中数学题型总结及解题方法)
- 冰岛旅游攻略(冰岛旅游攻略及花费)
- 为什么现在年轻人越来越喜欢买衣服(为什么现在年轻人越来越喜欢买衣服穿)
热门推荐
- laravel认证系统(Laravel框架Auth用户认证操作实例分析)
- IQueryable与IEnumberable的区别
- python将网站图片本地存储(详解Python下载图片并保存本地的两种方式)
- cuda安装包下载慢(Manjaro安装CUDA实现教程解析)
- linux怎么上传windows的文件(Windows本地环境和Linux腾讯云服务器之间传输文件的方法)
- python3.7标准库官方手册(Python3.7 dataclass使用指南小结)
- python控制流实例(如何用C代码给Python写扩展库Cython)
- mysql 双主双备(MySQL配置了双主,是如何避免出现数据回环冲突的)
- python如何获取微信好友(利用Python查看微信共同好友功能的实现代码)
- linux压缩文件夹zip命令(Linux gzip命令压缩文件实现原理及代码实例)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9