1)整體說明
1> 所謂連線,按字面理解就是將表拼在一起,當做一張表使用
2> 內連線:顧名思義,也就是兩張表的重疊部分(即青色部分)都滿足才行
3> 左外連線:也就是將左邊的表也連線起來,結果就是所有左邊的資料加上滿足重疊部分條件的右邊部分
4> 右外連線:右邊所有表的資料,加上滿足重疊部分條件的左邊的資料
5> join:後面跟要拼在一起的那張表 on:後面跟兩張表關聯的地方
2)測試
t_department表:
t_employee表:
t_employee表通過departmentid與表t_department進行多對一關聯
1> 內連線
select *
from t_department d
join t_employee e
on e.departmentid = d.id
結果為:
實際上就是兩張表中只要滿足中間部分條件的資料
等效sql為:
select *
from t_department d ,t_employee e
where e.departmentid = d.id
2> 左外連線
select *
from t_department d
left join t_employee e
on e.departmentid = d.id
結果為:
也就是左邊表的資料全都要,右邊表只要滿足中間部分條件的資料
3> 右外連線
select *
from t_department d
right join t_employee e
on e.departmentid = d.id
結果為:
實際上就是右邊表全部都要,左邊只要滿足中間部分條件的
sql中的連線查詢
create table 產品 產品編號 char 9 not null,產品名稱 varchar 20 not null go create table 產品銷量 產品編號 char 9 not null,銷量 int go insert into 產品 values 001 顯示器 insert...
SQL中的連線查詢
sql有sql92與sql99兩個重要的標準版本,兩個版本中的連線查詢方式不太相同。在平常寫的過程中容易混淆。笛卡爾積 from a,b 等同於 from a cross join b等值連線 from a,b where a.f1 b.f1 等同於 from a join b on a.f1 b....
SQL的連線查詢
01 內連線inner join 作用 查詢兩張表的共有部分 02 左連線 left join 作用 把左邊表的內容全部查出,右邊表只查出滿足條件的記錄 03 右連線 right join 作用 把右邊表的內容全部查出,左邊表只查出滿足條件的記錄 04 完全外連線 full outer join 完...