Oracle 子查询
一.子查询的语法
a) 子查询(内查询)在主查询之前一次执行完成。
b) 子查询的结果被主查询使用(外查询)。
二.注意事项
a) 子查询要包含在括号内。
b) 将子查询放在比较条件的右侧。
c) 单行操作符对应单行子查询,多行操作符对用多行子查询。
三.单行子查询
a) 只返回一行。
b) 使用单行比较操作符。
操作符
|
含义
|
=
|
Equal to
|
>
|
Greather than
|
>=
|
Greather than or equal to
|
<
|
Less than
|
<=
|
Less than or equal to
|
<>
|
Not equal to
|
c) 子查询中的having子句
i. 首先执行查询。
ii. 向主查询中的having子句返回结果。
四.多行子查询
a) 返回多行。
b) 使用多行比较操作符。
操作符
|
含义
|
In
|
等于列表中的任何一个
|
Any
|
和子查询返回的任意一个值比较
|
All
|
和子查询返回的所有值比较
|
五.测试
a) 查询和Zlotkey相同部门的员工姓名和雇用日期
select last_name,hire_date
from employees
where department_id = (
select department_id
from employees
where last_name = 'Zlotkey'
)
b) 查询工资比公司平均工资高的员工的员工号,姓名和工资。
select employee_id,last_name,salary
from employees
where salary >(
select avg(salary)
from employees
)
c) 查询各部门中工资比本部门平均工资高的员工的员工号, 姓名和工资
select employee_id,last_name,salary
from employees e
where salary >(
select avg(salary)
from employees
where department_id = e.department_id
)
d) 查询和姓名中包含字母u的员工在相同部门的员工的员工号和姓名
select employee_id,last_name
from employees
where department_id in (
select department_id
from employees
where last_name like '%u%'
)
e) 查询在部门的location_id为1700的部门工作的员工的员工号
select employee_id
from employees
where department_id in (
select department_id
from departments
where location_id = 1700
)
f) 查询管理者是king的员工姓名和工资
select last_name,salary
from employees
where manager_id in (
select employee_id
from employees
where last_name = 'King'
)
分享到:
相关推荐
ORACLE子查询
Oracle子查询知识点总结 Oracle子查询是指在SQL语句中嵌套使用SELECT语句,以解决复杂的查询问题。下面是Oracle子查询的知识点总结: 一、子查询的定义和类型 * 子查询是一个完整的SELECT语句,嵌套在另一个...
oracle笔记子查询,有子查询相关的知识点笔记和具体的案例代码!
Oracle子查询是数据库查询中的一个重要概念,它是指在SQL语句中嵌套另一个查询语句,用于获取数据或满足特定条件。子查询可以被用在SELECT、INSERT、UPDATE和DELETE命令中,甚至可以在一个子查询内部再嵌套其他子...
### Oracle 子查询详解 #### 一、子查询概述 在Oracle数据库中,子查询(也称为嵌套查询)是一种非常强大的SQL特性,它允许在一条SQL语句中嵌入另一条查询语句。子查询可以用来解决各种复杂的数据检索问题,特别是...
Oracle子查询是数据库查询语言SQL中的一个重要概念,它在数据处理和分析中起着至关重要的作用。子查询,也称为嵌套查询,是指在另一个查询内部的查询,它作为一个独立的查询被执行,并且其结果被主查询使用。下面...
根据提供的文件信息,我们可以归纳出以下关于Oracle子查询的关键知识点: ### Oracle子查询概述 子查询是指在SQL语句中的一个查询嵌套在另一个查询之中。这种查询方式可以帮助我们更灵活地处理数据,并且能够实现...
Oracle子查询是数据库查询语言中的一个关键概念,它在处理复杂的数据分析和查询时非常有用。子查询,也称为内部查询或嵌套查询,是指在一个更大的查询(外查询)内部执行的独立查询,用于获取主查询所需的数据或者...
【基于成本的ORACLE子查询性能研究】 Oracle数据库在处理SQL查询时,特别是涉及子查询时,会基于一种称为“成本”的评估标准来选择最佳执行计划。本文将深入探讨Oracle中的几种子查询类型,以及如何优化子查询以...
oracle子查询学习教案.pptx
Oracle子查询优化是数据库性能调优的关键环节,尤其是在处理复杂SQL语句时,正确的优化策略能够显著提升系统效率。以下是一些关于Oracle子查询优化的最佳实践: ### SQL优化的核心思想 1. **减少IO次数**:无论是...
oracle子查询PPT课件.pptx
在Oracle中,子查询是一个非常关键的概念,尤其对于初学者来说,理解和掌握子查询是提升SQL技能的基础。子查询,也称为嵌套查询,是在一个SQL语句中嵌入另一个查询,用于获取数据或对主查询进行条件判断。 1. **子...
子查询的类型 1、单行子查询:不向外部的SQL语句返回结果,或者只返回一行 2、多行子查询:向外部的SQL语句返回一行或者多行 1、多列子查询:向外部的SQL语句返回多列 2、关联子查询:引用外部的SQL语句中的一列...
在学习Oracle子查询时,学员需要通过实践来熟悉不同场景下子查询的使用方法,掌握其返回的数据类型,以及如何在WHERE、HAVING、FROM子句中嵌入子查询,解决实际问题。同时,理解子查询返回空值对主查询的影响,以及...
Oracle子查询的语法结构如下: ```sql SELECT [DISTINCT] * | 列名 1 [别名 1], 列名 2 [别名 2]… FROM 表名, (SELECT [DISTINCT] * | 列名 1 [别名 1], 列名 2 [别名 2]… FROM 表名 [WHERE 条件] [GROUP BY...
Oracle子查询是数据库查询中的一个重要概念,它是在一个SQL语句中嵌套另一个SQL查询,用以提供外部查询所需的条件或值。子查询可以作为WHERE、HAVING、FROM或SELECT子句的一部分,用于处理复杂的查询需求。以下是...
通过本章学习,您将可以: ...子查询对空值的处理 在 FROM 子句中使用子查询 在SQL中使用单列子查询 相关子查询 书写相关子查询 使用子查询更新和删除数据 使用 EXISTS 和 NOT EXISTS 操作符 使用 WITH 子句