Chinaunix首页 | 论坛 | 博客
  • 博客访问: 152004
  • 博文数量: 263
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2686
  • 用 户 组: 普通用户
  • 注册时间: 2018-07-05 13:59
个人简介

Oracle dba培训、OCP、OCM、MYSAL认证,可以找我们,cuug专业做这些

文章分类

全部博文(263)

文章存档

2020年(3)

2019年(222)

2018年(38)

我的朋友

分类: Oracle

2019-12-17 10:39:30

Choose two

Examine this SQL statement:

DELETE FROM employees e

WHERE EXISTS

(SELECT 'dummy'

FROM emp_history

WHERE employee_id = e.employee_id)

Which two are true?

A) The subquery is executed for every row in the EMPLOYEES table.

B) The subquery is not a correlated subquery.

C) The subquery is executed before the DELETE statement is executed.

D) All existing rows in the EMPLOYEEE table are deleted.

E) The DELETE statement executes successfully even if the subquery selects multiple rows.

Answer::AE

(解析:这又是一个关联子查询的考题,出现过多次,A 答案大家要注意。)

关联子查询:

1、 先执行主查询,对于主查询返回的每一行数据,都会造成子查询执行一次

2、 然后子查询返回的结果又传给主查询

3、 主查询根据返回的记录做出判断

)

注意这道题答案 E 是对的,与前面第 14 题的答案 D 上有区别,要分别对待。

create table emp2 as select * from emp where deptno=20;

update emp2 set empno=7934 where ename=’SCOTT’;

DELETE FROM emp e

WHERE EXISTS

(SELECT 'empno'

FROM emp2

WHERE empno = e.empno);

UPDATE emp e

SET ename =

(SELECT ename

FROM emp2

WHERE empno = e.empno);

阅读(51) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册