A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

©   /  2018-5-25 19:47  /  4456 人查看  /  54 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

许剑鸿 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’ //查询的是史密斯的工资----执行结果:
工资
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马