oracle: OCA-047-题解与实验(1)--merge的用法
2011-12-09 15:17
411 查看
注明:题目及答案来源互联网,本文只做答案解析,供网友学习之用!
题目:
答案解析:
本题目考察的是merge的用法,概念如下:
MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE。
题目中WHEN MATCHED THEN:首先更新了行值,然后就删除掉NULL的行,所以第三行被删掉了。NOT MATCHED THEN:不满足的行直接插入,所以可判断出答案了。
题目:
答案解析:
本题目考察的是merge的用法,概念如下:
MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE。
用法: MERGE [INTO [schema .] table [t_alias] USING [schema .] { table | view | subquery } [t_alias] ON ( condition ) WHEN MATCHED THEN merge_update_clause WHEN NOT MATCHED THEN merge_insert_clause;
题目中WHEN MATCHED THEN:首先更新了行值,然后就删除掉NULL的行,所以第三行被删掉了。NOT MATCHED THEN:不满足的行直接插入,所以可判断出答案了。
相关文章推荐
- oracle: OCA-047-题解与实验(7)--REGEXP_REPLACE的用法
- oracle: OCA-047-题解与实验(9)--SQL语句中COUNT和NLV的用法
- oracle: OCA-047-题解与实验(11)--SQL语句中sequence的用法
- oracle: OCA-047-题解与实验(5) --start with 与 connect by的用法
- oracle: OCA-047-题解与实验(8)--CUBE和ROLLUP的用法
- oracle: OCA-047-题解与实验(10)--SQL语句中to_date的用法
- oracle: OCA-047-题解与实验(6)--session_privs的内容
- oracle: OCA-047-题解与实验(12)--Create table的常见写法
- oracle: OCA-047-题解与实验(3)--insert语句注意事项
- oracle: OCA-047-题解与实验(4)
- oracle: OCA-047-题解与实验(2)
- oracle: OCA-042-题解与实验(1)
- oracle-merge用法详解
- ORACLE merge Into 独立使用的用法
- oracle merge into 的用法详解+实例
- oracle merge into 的用法详解+实例
- oracle-merge用法详解
- Oracle Merge Into 的用法详解实例
- oracle: ocp题解与实验(5/205)
- Oracle的MERGE用法