表设计
99连接
交叉连接cross join à 笛卡尔积
自然连接(主外键,同名列) natural join à 等值连接
join using连接(同名列) à 等值连接
[inner]join on 连接 à 等值连接 非等值 自连接(解决一切) 关系列必须区分
left|right[outer]join on|using à 外连接
full join on|using à 全连接 满足直接匹配,不满足互相补充null,确保所有表的记录都至少出现一次
视图和索引
视图是建立在 表和结果之间的一个虚拟表,操作视图修改原数据库表中的内容
适当的创建视图可以提高执行效率和简化sql
create or replace view 视图名 as select 语句 [with read only];
索引—
数据库的对象之一,对象本身是需要维护的
索引本省是透明的,是否创建对于数据库表的本身,和使用上没有任何影响
对大量数据,常用于查询,会提高执行效率,执行速度
对添加索引的字段大量的做增删改,需要更新维护索引对象,降低效率
相当于字典的目录
oracle会自动为主键添加索引
create index 索引名 on 表名 (字段列表…)
drop index 索引名
表设计
DDL
-创建表 表名 字段名 字段的类型 约束
Create table 表名(字段名 字段类型,字段名 字段类型…)
--删除表
drop table 表名
DML
插入数据 insert
非空 唯一 à 主键约束 primary key
非空约束 not null
检查约束 check()
唯一 unique
外键 references 表明(关联的东西)
注释 comment on column 表明 is “ ”
删除 drop 表名 cascade constrains (先删除从表 再删除主表 ; 同时删除约束)
新增 insert into 表名 values ()
追加约束 alter 表名 add constraint 字段 约束