1. drop from r 和 delete from r
前者是删除表r,后者是删除表中的所有元组,但是表依然存在。
2. alter table r addA D: 在表r中添加属性A,它的域(取值范围)为D。
alter table r dropA: 在表r中去掉属性A。
3. 有时候我们想要强行删除重复,可在select后加入关键词distinct。
关键词all用来显式指明不去除重复。
4. 自然连接。(natural join)
5. 附加运算
i. 更名运算:(old-name as new-name)
ex:select name as instructor_name, course_id
from instructor, teachesfrom
where instructor.ID = teacher.ID
select distinct T.name
instructor as T,instructor as S
where T.salary > S.salary and S.dept_name = 'Biology';
ii. 字符串:(%, _)
iii. 集合运算:(union, intersect,except)
6. 聚集函数
i. 基本聚集(avg, min, max, sum, count)
ii. 分组聚集(group by)
iii. having子句
7. 嵌套子查询
some(某一个),all(所有的),exist(存在),unique(是否一次)的含义。
8. 外连接
i. 左外连接:只保留出现在左外连接运算之前(左边)的关系中的元组(left outer join)。
ii. 右外连接:只保留出现在右外连接运算之前(右边)的关系中的元组(right outer join)。
iii. 全外连接:保留出现在两个关系中的元组(full outer join)。
9. 视图
create view vas <query expression>
可更新的视图:
i. from子句中只有一个数据库关系。
ii. select子句中只包含关系的属性名,不包含任何表达式,聚集或distinct声明。
iii. 任何没有出现在select子句中的属性可以取空值;即这些属性上没有not null约束,也不构成主码的一部分。
iX. 查询中不含有group by或having子句。
10. 完整性约束
i. not null:设定属性值不为空
ii. unique:设定属性值唯一,可以是选取组合起来唯一。
iii. check:保证属性值的满足指定条件。
11. 授权
grant <权限列表>
on <关系名或视图名>
to <用户/角色列表>
然后收回权限就是把grant改成revoke,将to改成from。