许剑鸿 webDay09
外键约束是用来保证数据的完整性。
约束:
主键约束:可以确定一条记录,既不能为空,也不能重复。
唯一约束:不能重复,但是可以为空
非空约束:不能为空,可以重复
外键约束:外键约束是用来保证数据的完整性。(员工和部门)
表和表之间的关系
一对多:在多的一方创建外键指向一的一方的主键(学生和班级,在学生表中创建外键指向班级的主键)
多对多:必须创建中间表,中间表至少两个列分别作为外键指向两张表的主键
一对一:不常见 因为可以直接列在一个表中
多表查询:
交叉连接:两张表的笛卡尔积
A. 就是多张表的乘积
B. Select * from user , dept
内连接:两张表的交集
A. 隐式 关键字: .... , .... where
a) Select * from user , dept where user.did = dept.did and 条件;
B. 显式 关键字: inner join .... on
a) Select * from user (inner) join dept on user.did = dept.did and 条件;
外链接:主表全部,从表部分。
左外:关键字 left join
A. Select * from user left join dept on user.did = dept.did
右外:关键字 right join
A. Select * from dept right join user on user.did = dept.did
自连接:自己和自己连接
例子: select * from emp a , emp b where a.mgr = b.empno
子查询
一条sql语句的条件中包含了另一条sql语句
Select * from user ,dept where user.did = dept.did and sal = (Select sal from user where name=’smith’);
Select sal from user where name=’smith’ //查询的是史密斯的工资----执行结果:
工资 |