1.HAVING和WHERE:

WHERE 和 HAVING 的作用对象不一样。WHERE作用于基本表或视图,挑出满足条件的元组。HAVING作用于组(group),一般配合GROUP BY 使用。

2.ANY 和 ALL:

all 是将后面的内容看成一个整体,

如: >all (select age from student where sex = 'girl')上面一句语句表示比所有女生年纪大(比年纪最大的女生的年纪还要大)相当于内容的 and 语句。

如果是any,它表示其中任意一个条件都可以 >any (select age from student where sex = 'girl')

这一句表示的意思是,只要比任意一个女生年纪大就可以了(比年纪最小的女生的年纪大)相当于内容中添加了or 语句。

其他还有很多种应用,比如<>ANY 代表 不等于查询结果中的某个值。

3.IN和EXIST:

EXIST:存在,后面一般都是子查询,当子查询返回行数时,exists返回true。如果内层查询结果为null的话,返回false.

select * from class where exists (select'x"form stu where stu.cid=class.cid)

当in和exists在查询效率上比较时,in查询的效率快于exists的查询效率 。

exists(xxxxx)后面的子查询被称做相关子查询, 他是不返回列表的值的.

IN:包含 ,查询和所有女生年龄相同的男生 select * from stu where sex='男' and age in(select age from stu where sex='女')

in()后面的子查询 是返回结果集的,换句话说执行次序和exists()不一样.

子查询先产生结果集, 然后主查询再去结果集里去找符合要求的字段列表去.符合要求的输出,反之则不输出.

参考:https://www.cnblogs.com/xuanhai/p/5810918.html

最新文章

  1. 【NodeJS 学习笔记02】入门资源很重要
  2. python核心编程第六章练习6-12
  3. 使用nodejs防止csurf攻击的方法
  4. python 数据类型(元组(不可变列表),字符串
  5. ODAC with Oracle Developer Tools for Visual Studio
  6. Emacs颜色设置
  7. CF 327D - Block Tower 数学题 DFS 初看很难,想通了就感觉很简单
  8. Java开源生鲜电商平台-系统简介
  9. unity---背景循环滚动
  10. 我对开源C++网络库简单应用总结
  11. iptables之NAT端口转发设置
  12. 解决node使用中8080端口被占用
  13. ORACLE 导入的问题
  14. E - Tears of Drowned
  15. JavaScript -- Window-Interval
  16. android 设置系统屏幕亮度
  17. UVA-10285 Longest Run on a Snowboard (递推)
  18. C# 空合并操作符(??)不可重载?其实有黑科技可以间接重载!
  19. activity启动模式launchMode区别和优化
  20. 169.求众数 leetcode Javascript

热门文章

  1. Fibonacci Nim(斐波那契尼姆)游戏
  2. POI导入导出excel(附工具类)
  3. SQLException:The server time zone
  4. Unicode标准以及其常见的编码方案
  5. 如何快速安装kafka-manager
  6. python学习Day03
  7. 使用纯C++迭代器编写归并排序
  8. selenium窗口截图操作
  9. python学习方法
  10. 5年从DBA到运维架构总监 — 做对了什么