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;

相關文章
相關標籤/搜索