①嵌套查询
嵌套查询也称为子查询或内层查询。故名思意,嵌套查询就是两个查询嵌套在一起,即一个查询嵌套在另一个查询的where语句或者having语句中,其中子查询先执行的到结果作为外层查询(父查询)的查询条件。
而嵌套查询又可分为单行查询和多行查询和多列查询:
单行查询:
子查询的返回结果数为一,而针对单行查询的运算符有:>、=、>=、、<=
多行查询:
子查询的返回结果为一个或者多个,针对多行查询的运算符有:IN、ANY、ALL。
IN : 判断是否与子查询 的任意一个返回值相同
ANY : 表示和子查询的任意一行结果进行比较,有一个满足 条件即可。用法有 <ANY =ANY >ANY
可用于查询 一个对象的属性大于 、小于 、等于其他对象的其中一个的某一属性就行的情况。
ALL : 表示和子查询的所有行结果进行比较,每一行必须都 满足条件。 用法有 <ALL =ALL >ALL
可用于查询 一个对象的属性对于其他对象的属性都大于 、小于 、等于的情况。
③多列子查询
多列子查询可以在一个条件表达式内同时和子查询的多个 列进行比较。 多列子查询通常用IN操作符完成
语法如下:SELECT ename, deptno, job, hiredate
FROM emp
WHERE