exists : 强调的是是否返回结果集,不要求知道返回什么, 比如:

select name from student where sex = 'm' and mark exists(select 1 from grade where ...) ,只要

exists引导的子句有结果集返回,那么exists这个条件就算成立了,大家注意返回的字段始终为1,如果改成“select 2 from grade where ...”,那么返回的字段就是2,这个数字没有意义。所以exists子句不在乎返回什么,而是在乎是不是有结果集返回。

而 exists 与 in 最大的区别在于 in引导的子句只能返回一个字段,比如:

select name from student where sex = 'm' and mark in (select 1,2,3 from grade where ...)

,in子句返回了三个字段,这是不正确的,exists子句是允许的,但in只允许有一个字段返回,在1,2,3中随便去了两个字段即可。

而not exists 和not in 分别是exists 和 in 的 对立面。

exists (sql 返回结果集为真)

not exists (sql 不返回结果集为真)

下面详细描述not exists的过程:

如下:

表A

ID NAME

1   A1

2   A2

3   A3

表B

ID AID NAME

1   1     B1

2   2

Java 中exists用法_sql中exists,not exists的用法相关推荐

  1. Java 中exists用法_SQL中EXISTS的用法

    比如在Northwind数据库中有一个查询为 SELECT c.CustomerId,CompanyName FROM Customers c WHERE EXISTS( SELECT OrderID ...

  2. mysql sql decode函数用法_Sql decode sign when length concat 用法详述

    案例1:查询表A数据,如果某个列(PARAM_VALUE)值太长,前台不好显示,就只取前20个字符:鼠标悬浮时再用层显示全部值: sql写法: select m.PARAM_VALUE as PARA ...

  3. java SQLexists用法_sql中的 exists 用法

    tablea aid aNAME 1 A1 2 A2 3 A3 tableb bID AID bNAME 1 1 B1 2 2 B2 3 2 B3 这是俩张表... select * from tab ...

  4. exists用法_SQL中的ALL、ANY和SOME的用法介绍

    SQL Server中有三个关键字可以修改比较运算符:ALL.ANY和SOME,其中ANY和SOME等价. 他们作用于比较运算符和子查询之间,作用类似EXISTS.NOT EXISTS.IN.NOT ...

  5. exists sql用法_SQL关于IN和EXISTS的用法和区别,读完之后,大部分程序员收藏了....

    1.exist,not exist一般都是与子查询一起使用. In可以与子查询一起使用,也可以直接in (a,b.....). 2.exist会针对子查询的表使用索引. not exist会对主子查询 ...

  6. oracle mysql limit用法_sql中limit使用方法

    1.下面是几种limit的方法:原则看看下面几个例子应该就懂了 在数据库中很多地方都会用到,比如当你数据库查询记录有几万.几十万时使用limit查询效率非常快,只需要查询出你需要的数据就可以了·再也不 ...

  7. java中rank函数_SQL中的排名函数(ROW_NUMBER、RANK、DENSE_RANK、NTILE)简介

    排名函数是Sql Server2005新增的功能,下面简单介绍一下他们各自的用法和区别. 在使用排名函数的时候需要注意以下三点: 1.排名函数必须有 OVER 子句. 2.排名函数必须有包含 ORDE ...

  8. constrain用法_SQL中的CONSTRAINT(约束)用法总结

    主要就是增加数据约束的.在sqlite作为数据库时必须加上约束 Oracle中的约束简单介绍 约束   Including Constraints 在数据库中使用约束(constraints)是为了在 ...

  9. java sql拼接字符串_SQL中字符串拼接

    1. 概述 在SQL语句中经常需要进行字符串拼接,以sqlserver,oracle,mysql三种数据库为例,因为这三种数据库具有代表性. sqlserver: select '123'+'456' ...

最新文章

  1. 【微信小程序之画布】终:手指触摸画板实现
  2. 这样系统的学习分布式,他日必成大器!
  3. mysql_result()函数的简单使用
  4. 【经典】5种IO模型 | IO多路复用
  5. 非常好用的卸载软件——Geek Uninstaller【官网、介绍、使用演示(卸载“格式工厂”)、软件包下载地址(百度网盘)】
  6. linux 开放1701端口,长连接及Linux 查看长连接端口
  7. Jquery+php+ajax实现表单异步提交,动态添加回复评论
  8. 图文:详解数据库Oracle 11g的基本安装
  9. mysql分页 disti_MySql查询性能优化
  10. 香甜的黄油(信息学奥赛一本通-T1345)
  11. 从imdb爬取ml-100k的电影封面
  12. 虽然“互联网电商”导致大量的“线下实体行业”受到冲击,但是“体验行业”永远不会被“互联网电商”影响
  13. 功率曲线k值_锂电池放电曲线全面解析
  14. IIS 禁用自动目录列表功能
  15. oracle取得组内行号,行号
  16. java中poi搜索工程_爬取高德地图poi数据
  17. Designing Specification
  18. matlab如何就导数,Matlab微分和导数
  19. 女性比男性更聪明、更会投资、事业心更重、对自己更严格?揭秘女性价值崛起的数据真相!...
  20. 小米5 原生android 7.0,发烧米粉看过来!小米5官方版Android 7.0来袭

热门文章

  1. matlab距离变换,距离变换的图像分割和Watershed算法
  2. Knativa 基于流量的灰度发布和自动弹性实践
  3. 当你收到面试通知后,通过如下的准备可以大大提升面试成功率
  4. python最新版本是多少(python最新版)
  5. ROS导航仿真和多点导航3——实现机器人巡检功能
  6. mysql 行锁模拟、锁查看及排除
  7. matlab 水波模拟 代码,matlab - 在Matlab中模拟一艘在水波中航行的船 - SO中文参考 - www.soinside.com...
  8. 杭电多校3-Hdu6797 Tokitsukaze and Rescue
  9. scrapy分布式碰到的一些问题和解决方案
  10. c++ GUI应用---吃豆人游戏(Visual Studio 2019)