本文章摘抄自数据库系统概论

子查询返回单值时可以用比较运算符,但返回多值时要用ANY(有的系统用SOME)或ALL谓词修饰符。而使用ANY或ALL谓词时则必须同时使用比较运算符

<(或>)ANY 小于(或大于)子查询中的某个值
>(或<)ALL 大于(或小于)子查询中的所有值
<=(或>=)ALL 小于等于(或大于等于)子查询中的所有值
<=(或>=)ANY 小于等于(或大于等于)子查询中的某个值
=ANY 等于子查询中某个值
=ALL 等于子查询中所有值
!=(或<>)ALL 不等于子查询中所有值
!=(或<>)ANY 不等于子查询中某个值
 【例】查询非计算机科学系中比计算机科学系任意一个学生年龄小的学生姓名和年龄select Sname,Sage from student where Sage < ANY(select  Sage from student where Sdept  = "CS") AND Sdept <> "CS";

在处理执行此查询的时候,首先处理子查询,找出CS系中所有学生的年龄,构成集合,然后处理父查询,找所有不是CS系且年龄小于2019的学生。

本查询也可以使用聚集函数来实现
Select Sage,Sname from student where Sage < (select MAX(Sage) from Student where Sdept= ‘CS’) AND Sdept != ‘CS’

【例】查询非计算机科学系中比计算机科学系所有学生年龄都小的学生姓名和年龄select Sname,Sage from student where Sage < ALL (select  Sage from student where Sdept  = "CS") AND Sdept <> "CS";改写成Select Sage,Sname from student where Sage < (select MIN(Sage) from Student where Sdept= 'CS')  AND Sdept != 'CS'

在处理执行此查询的时候,首先处理子查询,找出CS系中所有学生的年龄,构成集合,然后处理父查询,找所有不是CS系且年龄小于2019的学生。

用聚集函数查是要比用ALL和ANY的效率要高。

带有ANY(SOME)或ALL谓词子查询相关推荐

  1. all any 或 此运算符后面必须跟_嵌套查询 带有in谓词,比较运算符,any或all谓词的子查询...

    前言 1.      将一个查询块嵌套在另一个查询块的where子句或having短语的条件中的查询称为嵌套查询 2.      上层的查询块叫外层查询或父查询或主查询,下层查询块又称为内层查询或子查 ...

  2. 查询其他系中比计算机科学某一学生年龄小的学生姓名和年龄.,带有ANY(SOME)或ALL谓词的子查询...

    子查询返回单值时可以用比较运算符,但返回多值时要用ANY(有的系统用SOME)或ALL谓词修饰符.而使用ANY或ALL谓词时则必须同时使用比较运算符.其语义为: >  ANY 大于子查询结果中的 ...

  3. sql之嵌套查询中的带exists谓词的子查询

    数据库系统概论之嵌套查询中的带exists谓词的子查询 一.exists谓词概述:exists谓词代表存在量词.带有exists谓词的子查询不返回任何数据,只产生逻辑真值"true" ...

  4. 【SQL】(task3)复杂查询(视图 | 子查询 | 谓词 | Case)

    学习总结 (1)视图和子查询.对于一些复杂的查询需要使用子查询加一些条件语句组合才能得到正确的结果.一个SQL语句的层数不能过深,不然可读性差而且执行效率也难以保证,所以尽量有简洁的语句来完成需要的功 ...

  5. 优化拥有谓词or的子查询

    于节点2上发现一个sql,其结构如下: select distinct t.attr, t.item from a t where attr = :1   and (pro = :2 or exist ...

  6. oracle中带有in查询的子查询绑定变量方式

    前情提要: 在sql中我们经常会使用到带有in的子查询,例如:where id in(1,2,3),如果语句在数据库中出现,将会引起数据库的大量硬解析与共享池SQL碎片(简而言之就是影响数据库性能): ...

  7. mysql带有in的子查询_含有IN的子查询

    本文主要探讨MySQL5.5和MYSQL5.6对包含in子查询的优化情况. MySQL5.5 首先来看一下,在MySQL5.5及以下版本是如何处理的,比如下面这条语句: select name fro ...

  8. mysql谓词_MySQL 子查询谓词

    MySQL 子查询分类 可以查看item_subselect.h中的定义: enum subs_type {UNKNOWN_SUBS, SINGLEROW_SUBS, EXISTS_SUBS, IN_ ...

  9. 标量子查询产生的SQL性能瓶颈,该怎么合理优化?

    来自:DBAplus社群 作者介绍 郝昊喆,新炬网络数据库专家.擅长数据库方面的开发.整体架构及复杂SQL的调优,参与了多个行业核心系统的优化工作,目前专注于对开源技术.自动化运维和性能调优技术的研究 ...

最新文章

  1. VMware Identity Manager 与CAS, Keycloak的集成
  2. ES6-13 正则方法、修饰符yus、UTF_16编码方式
  3. shell通过sshpass远程ssh执行命令
  4. java hadoop makefile_makefile高级用法--make 的运行
  5. mysql分库分表 mycat_你们要的MyCat实现MySQL分库分表来了
  6. 工人与资本家互相养活,主动权在资本家手里
  7. 【Python】statsmodels.formula.api模块中ols参数的解释
  8. linux系统剪切,Linux 系统裁剪
  9. log4cpp乱码_log4cxx配置使用(一)
  10. 2022美团实习生客户端一面
  11. JAVA编程入门学习
  12. MFC实现程序开机自动运行
  13. 网络socket编程--多路复用
  14. 使用EFI安装win7-64位,在不能使用U盘的情况下
  15. pta6-1 快速排序
  16. 2019FME博客大赛——基于 FME 求算最佳租房方案
  17. 电脑经常自动关机的系统解决方案
  18. openEuler实验-基于openEuler的云景平台文件管理系统
  19. JavaScript中常用事件有哪些?
  20. anaconda channels 更换

热门文章

  1. setTimeout和setImmediate以及process.nextTick的区别
  2. uniapp npm 版本升级
  3. Apache Drill源码分析(2) 分析一次具体的查询过程以及RPC
  4. 好用的个人项目管理软件,从工作到生活,两个模式,一款软件
  5. Archery通过OpenResty代理转发后登录一直提示Forbidden
  6. jquery 实现省市二级联动
  7. C++中 float 精度详解
  8. 系统测试——软件测试的艺术
  9. win10打印机0x8007007e无法_win10无法打印网页:0x8007007e的解决方法听语音
  10. 浅析地质勘探基本原理