ORACL∈ 可以把子查询分为两种类型:单行子查询和多行子查询。 单行子查询 sQL语句只返回一行数据,或者无内容; 一适用于 where子句和 having子句; 多行子查询 SQL语句返回多行数据; 第7页
可以把子查询分为两种类型:单行子查询和多行子查询 。 • 单行子查询 – SQL语句只返回一行数据,或者无内容; – 适 用 于where子句 和havin g子句; • 多行子查询 – SQL语句返回多行数据; 第 7 页
ORACL∈ 子查询时,需要注意以下几点: 一子查询需要使用括号()括起来; 一子查询要放在比较操作符的右边; 一当子查询的返回值是一个集合而不是一个值时,不能 使用单行操作符,而必须根据需要使用ANY、IN、AL 或 EXISTS等操作符。 第8页
• 子查询时,需要注意以下几点: – 子查询需要使用括号 ( ) 括起来; – 子查询要放在比较操作符的右边; – 当子 询 值 个集 个值 查询的返回值是一个集合而不是一个值时,不能 使用单行操作符,而必须根据需要使用ANY、IN、ALL 或EXISTS等操作符。 第 8 页
ORACL∈ ●·。2.在 WHERE子句中使用子查询 ·在 SELECT语句中的 WHERE子句中可以使用子查询,表示将 子查询返回的结果作为外部的 WHERE条件 例如 查询和 Jones一个部门的员工信息; 查询和 jones工资等同的其他员工信息; 第9页
2. 在WHERE子句中使用子查询 • 在SELECT语句中的WHERE子句中可以使用子查询 子句中可以使用子查询,表示将 子查询返回的结果作为外部的WHERE条件; • 例如: – 查询和jones一个部门的员工信息; – 查询和jones工资等同的其他员工信息; 第 9 页
ORACL∈ ·语法格式: SELECT*列名称 FROM表名 WHERE表达式操作符(SQL查询块) 第10页
• 语法格式: SELECT *| 列名称 FROM 表名 WHERE 表 式达 操作符 (SQL查询块) 第 10 页
ORACL∈ ·例1,查询和“NES”一个部门的职工信息; SELECT FROM scott. emp WheRE deptno = seleCt deptno FROM scott. emp WHERE ename=JONES) QL> SELECT FROM scott. emp 2 WHErE deptno IN 3 <selEcT deptno FROM scott. emp 4 WHERE ename= JONES’ EMPNO ENAME JOB MGR HIREDATE SAL DEPTNO 7902 FORD ANALYST 756663-12月-81 3g99 7876 ADAMS CLERK 778823-5月-87 11g 7788 SCOTT ANALYST 756619-4月-87 第11页
• 例1,查询和“JONES”一个部门的职工信息; SELECT * FROM scott.emp WHERE deptno = ( SELECT deptno FROM scott.emp scott.emp WHERE ename= 'JONES‘ ); 第 11 页