WEB开发网
开发学院数据库Oracle 用SQL进行嵌套查询 阅读

用SQL进行嵌套查询

 2006-08-04 11:53:53 来源:WEB开发网   
核心提示:在select查询语句里可以嵌入select查询语句,称为嵌套查询,用SQL进行嵌套查询,有些书上将内嵌的select语句称为子查询,子查询形成的结果又成为父查询的条件,上面的查询过程等价于两步的执行过程,(1)执行“select sal from scott.emp where ename='WA

在select查询语句里可以嵌入select查询语句,称为嵌套查询。有些书上将内嵌的select语句称为子查询,子查询形成的结果又成为父查询的条件。

子查询可以嵌套多层,子查询操作的数据表可以是父查询不操作的数据表。子查询中不能有order by分组语句。

4.4.1 简单嵌套查询

在【命令编辑区】执行下列语句。

―――――――――――――――――――――――――――――――――――――

select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal>=(select sal from scott.emp where ename='WARD');   ―――――――――――――――――――――――――――――――――――――

单击【执行】按钮,出现如图4.19所示的结果。

【参见光盘文件】:\第4章\4.4\441.sql。

在这段代码中,子查询select sal from scott.emp where ename='WARD'的含义是从emp数据表中查询姓名为WARD的员工的薪水,父查询的含义是要找出emp数据表中薪水大于等于WARD的薪水的员工。上面的查询过程等价于两步的执行过程。

(1)执行“select sal from scott.emp where ename='WARD'”,得出sal=1250;

(2)执行“select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal>=1250;”

4.4.2 带【in】的嵌套查询

在【命令编辑区】执行下列语句。

―――――――――――――――――――――――――――――――――――――

select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal in (select sal from scott.emp where   ename='WARD');

1 2 3 4 5  下一页

Tags:SQL 进行 嵌套

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接