MySQL学习笔记(三)

5、多表查询

主、从表:工具

若是表A的主关键字(primary key)是表B的字段,则该字段称为表B的外键。spa

外键:用来实现参照完整性的,不的外键约束方式将能够使两张表紧密的结合起来,特别 修改或者删除的级联操做设计

 外键约束table

做用:保证数据完整性 (***)基础

添加外键:select

alter table 表名 add foreign key 当前表名(dno) references 关联的表 (did);语法

### 表间关系(表记录与另外一有记录的关系)(专门人, 建模工具ER)im

1:1数据

设计: 通常设计一张表就能够,有时根据业务的须要拆分多张表造成一对一查询

案例:用户基础信息,用户详细信息

原则:主键对应,惟一外键对应

n:n|n:m|*:*

案例:学生选择的课程,课程对应多个学生

1:n|1:*

案例:部门与员工

### 外链接

1. 左外链接(把左表全部的数据查询出来)

前提:要有外键

语法: left [outer] join A表.字段 on B表.字段

select * from dept t1 left join emp t2 on t1.did = t2.dno;

2. 右外链接

前提:要有外键

语法: right [outer] join A表.字段 on B表.字段

select * from dept t1 right join emp t2 on t1.did = t2.dno;

3.彻底外链接 full join 或 full outer join

前提:要有外键

SQL语句:select * from student full join course on student.ID=course.ID

#. 子查询

查询的内容要用另外一个查询的结果

select * from emp where ename > (select * from emp where 条件)

先完成子查询,后进行查询

4、内链接

1.普通的内链接

前提:要有外键

关键字: inner join A表.字段 on B表.字段

2.隐式的内链接(用得最多)

 不用inner join ... on 关键字

 select * from dept d, emp e where d.did=e.dno;

相关文章
相关标签/搜索