张三 男 19岁 青岛大学 软件工程
李四 男 19岁 青岛大学 软件工程
王五 男 19岁 青岛大学 软件工程
冗余:青岛大学 软件工程
范式:
在关系型数据库中,如果要以关系为基准划分表结构
,那么划分表结构的基础准则就是数据库三范式
数据库三范式:
第一范式:列的原子性(即,列不可再分)
第二范式:列中的所有字段都要与主键相关 主键:每一条数据的唯一标识
第三范式:表中的所有字段都与主键直接相关
(例如校长和学生不是直接关系,只通过学院联系)
--交叉连接(笛卡尔链接)
--语法:select from a表 cross join b表;
select * from emp e1 cross join dept;
--内连接
--语法:
select 列名,...,列名from a表 inner join b表 on 连接条件
--自连接
--不等连接
select * from salgrade;
--全连接
--select 列名,列名,列名,....from 表A full outer join 表B on 连接条件;
--左外连接
--select 列名,列名,...from 表A left outer join 表B on 连接条件
--右外连接
--select 列名,列名,列名,...from 左表 right outer join 右表 on 连接条件
--自然连接
--自然连接using用来指定关系列
--交叉连接(笛卡尔链接)
--语法:select from a表 cross join b表;
select * from emp e1 cross join dept;
--内连接
--语法:select 列名,...,列名from a表 inner join b表 on 连接条件
select e.* from emp e inner join dept d on d.deptno=e.deptno;
--自连接
select e1.*, e2.deptno from emp e1 join emp e2 on e1.mgr=e2.empno;
select e1.*, e2.deptno from emp e1,emp e2 where e1.mgr=e2.empno;
--不等连接
select * from salgrade;
select e.*,s.grade,s.losal,s.hisal from emp e , salgrade s where e.sal between s.losal and s.hisal;
--全连接
--select 列名,列名,列名,....from 表A full outer join 表B on 连接条件;
select e.*,d.* from emp e full outer join dept d on e.deptno=d.deptno;
--左外连接
--select 列名,列名,...from 表A left outer join 表B on 连接条件
select e.*,d.* from emp e left outer join dept d on e.deptno=d.deptno;
--右外连接
--select 列名,列名,列名,...from 左表 right outer join 右表 on 连接条件
select d.*,e.* from dept d right outer join emp e on d.deptno=e.deptno;
--自然连接
-- select col_name,col_
name,...from table_a natural join table_b;
select e.ename,d.dname from emp e natural join dept d;
--自然连接using用来指定关系列
--select col_name,....from table_a join table_b using(关系列)
select * from emp join dept using(deptno);