sql子查询嵌套SELECT语句.docxVIP

  • 9
  • 0
  • 约2.23千字
  • 约 4页
  • 2021-04-12 发布于天津
  • 举报
sql 子查询 嵌套 SELECT 语句 sql 子查询 /嵌套 SELECT 语句嵌套 SELECT 语句也叫子 查询,一个 SELECT 语句的查询结果能够作为另一个语句 ,也能够出的输入值。子查询不但能够出现在 Where 子句中 ,也能够出 现在 from 子句中,作为一个临时表使用, 也能够出现在 select 1、单行子查询 :单行子查询是指子查询的返回结果只有 行数据。当主查询语句的条件语句中引用子查询结果时可用 单行比较符号(=,gt;, lt;, gt;=, lt;=, lt; gt; )来进行 比较。 list中,作为一个字段值来返回 list 中,作为一个字段值来返回 例: select ename,deptno,sal from emp where deptno=(select deptno from dept where loc=NEW YORK) ; 2、多行子查询: 多行子查询即是子查询的返回结 果是多行数据。当主查询语句的条件语句中引用子查询结果 时必须用多行比较符号 ( IN,ALL,ANY )来进行比较。 其中, IN 的含义是匹配子查询结果中的任一个值即可( IN 操作 符,能够测试某个值是否在一个列表中) , ALL 则必须要符 合子查询的所有值才可, ANY 要符合子查询结果的任何一个 值即可。而且须注意 ALL 和 ANY 操作符不能单独使用, 而只能与单行比较符( =、gt; 、lt; 、 gt;= 、 lt;= 、 lt;gt; )结合使用。 例: 1).多行子查询使用 IN 操作符号例子: 查询选修了老师名叫 Rona(假设唯一)的学生名字 sqlgt; select stName from Student where stId in(selectdistinct stId from score where teId=(select teId from teacher where teName=Rona)); 查询所有部门编号为 A 的资料: SELECT ename,job,sal FROM EMP WHERE deptno in ( SELECT deptno FROM dept WHERE dname LIKE A%) ; 2).多行子查询使用 ALL 操作符号例子:查询有一门以上的 成绩高于 Kaka 的最高成绩的学生的名字 sqlgt; select stName from Student where stId in(select distinct stId from score where score gt;all(select score from score where stId=(select stId from Student where stName= Kaka) )); 3) . 多行子查询使用 ANY 操作符号例子:查询有一门以上 的成绩高于 Kaka 的任何一门成绩的学生的名字 sqlgt; select stName from Student where stId in(select distinct stId from score where score gt;any(select score from score where stId=(select stId from Student where stName=Kaka))); 3、多列子查询:当是单行多列的子查询时,主查询语句的 lt;, gt;=, lt;=, lt;gt; )来进行比较;当是多行多列子查 询时,主查询语句的条件语句中引用子查询结果时必须用多 行比较符号( IN ,ALL,ANY )来进行比较。 条件语句中引用子查询结果时可用单行比较符号, 条件语句中引用子查询结果时可用单行比较符号 , gt;, 例: SELECT deptno,ename,job,sal FROM EMP WHERE (deptno,sal) IN (SELECT deptno,MAX(sal) FROM EMP GROUP BY deptno) ; 4、内联视图子查询 例: (1)SELECT ename,job,sal,rownum FROM (SELECT ename,job,sal FROM EMP ORDER BY sal) ; (2)SELECT ename,job,sal,rownum FROM ( SELECT ename,job,sal FROM EMP ORDER BY sal) WHERE rownumlt;=5 ; 5、在 HAVING 子句中使用子查询 例: SELECT deptno,job,A VG(sal) FROM EMP GROUP BY deptno,job

文档评论(0)

1亿VIP精品文档

相关文档