持续更新,接上篇
4.Subquery子查询
子查询(内部查询)在主查询(外部查询)之前执行一次
- 将子查询放在括号中
- 放在比较条件的右侧
Types: 单行 和 多行
HAVING Clouses in Subqueries
Oracle服务器把查询结果返回到HAVING子句中
多行子查询
使用多行操作符 IN ANY ALL
- < ANY 即小于最大值
- > Any 即大于最小值
- = any 即匹配其中一个即可
Null Values in a Subquery
内部查询(子查询)返回的值之一是空值,因此整个查询不返回任何行
5.集合运算符Set Operators
UNION/UNION ALL
并集
select employee_id,job_id from hr.employees
union
select employee_id,job_id from hr.job_history
INTERSECT
交集
MINUS
差集
- 选择列表中的表达式的数量和数据类型必须匹配
- 括号可以改变执行顺序
- 只能出现在语句的末尾
- 将接受列名,第一个SELECT语句为准
6.DML Data manipulation Language
INSERT INTO
- 插入包含每列值德新行
- 按表中的默认顺序列出值
- 用单引号将字符和日期值括起来
替代变量填充
UPDATE
DELETE vs. TRUNCATE
delete from :DML(增删改) 可以被回滚rollback
- 后面可以写条件
truncate: DDL 数据定义语言 无法轻易撤销
- 直接清空表