當查詢結果的列來源于多張表時,需要将多張表連接配接成一個大的資料集,再選擇合适的列傳回
mysql支援三種類型的連接配接查詢,分别為:
- 内連接配接查詢:查詢的結果為兩個表比對到的資料
- 左連接配接查詢:查詢的結果為兩個表比對到的資料,左表特有的資料,對于右表中不存在的資料使用null填充
- 右連接配接查詢:查詢的結果為兩個表比對到的資料,右表特有的資料,對于左表中不存在的資料使用null填充
文法
select * from 表1 inner或left或right join 表2 on 表1.列 = 表2.列
例1:使用内連接配接查詢班級表與學生表
select * from students inner join classes on students.cls_id = classes.id;
- 此處使用了as為表起别名,目的是編寫簡單
select * from students as s left join classes as c on s.cls_id = c.id;
select * from students as s right join classes as c on s.cls_id = c.id;
select s.name,c.name from students as s inner join classes as c on s.cls_id = c.id;