Oracle DQL DML 常见操作
DQL
WITH…AS…
With查询语句不是以select开始的,而是以“WITH”关键字开头创建临时表查询
可认为在真正进行查询之前预先构造了一个临时表,之后便可多次使用它做进一步的分析和处理
UNION&UNION ALL
PS:UNION比UNION ALL 效率低,如果明确确认集合中不包括重复记录则使用UNION ALL ,如果表数据很大可能会导致用磁盘进行排序耗费时间
为了合并多个SELECT语句的结果,可以使用集合操作符,实现集合的并、交、差。
集合操作符包括UNION、UNION ALL、INTERSECT和MINUS。
多条作集合操作的SELECT语句的列的个数和数据类型必须匹配。
MINUS
MINUS函数获取两个结果集的差集。只有在第一个结果集中存在,在第二个结果集中不存在的数据,才能够被显示出来。也就是结果集一减去结果集二的结果。
DML
SELECT INTO
语句形式为:SELECT vale1, value2 into Table2 from Table1
要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。示例如下:
INSERT INTO SELECT
(1)要求目标表Table2必须存在,并且字段field,field2…也必须存在
(2)注意Table2的主键约束,如果Table2有主键而且不为空,则 field1, field2…中必须包括主键
(3)注意语法,不要加values,和插入一条数据的sql混了,不要写成:
MERGE
INSERT FIRST
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Yang!