現有表r,s如下:
笛卡爾積
select * from r,s;
結果:注:不需要任何條件。結果為兩張表函式相乘(3x3=9)。
連線型別
分為三種:交叉連線、內連線、外連線。
交叉連線 cross join
沒有where子句的交叉連線將產生連線表的笛卡爾積。
select * from r cross join s;
結果:和笛卡爾積一樣,如上圖。
select * from r cross join s where r.c = s.c;
結果:內連線
內連線分為三種:自然連線、等值連線、非等值連線。
自然連線 natural join:在連線條件中使用等於=運算子比較被連線列的列值,但刪除連線表中重複列。
select * from r natural join s;
結果:等值連線:使用等於=比較連線列的列值,在查詢結果中列出接連表中的所有列,包括其中的重複列。
select * from r join s where r.c = s.c;或
select * from r inner join s where r.c = s.c;
非等值連線 :在連線條件中,可以使用其他比較運算子,比較被連線列的列值,如:、!=等。
外連線
外連線分為三類:全外連線、左外連線、右外連線。
左外連線 left join / left outer join
左外連線要遍歷左表的所有記錄,右表沒有的用null表示。
右外連線 right join / right outer join
右外連線要遍歷右表所有的記錄,左表沒有的用null表示。
全外連線 full join / full outer join
MySQL中的多表連線
一 語法結構 使用乙個表在多個表中查詢資料 where子句中寫連線條件 二 等值連線 等值連線也被稱為簡單連線 joins 或內連線 inner joins 是通過等號來判 斷連線條件中的資料值是否相匹配。例查詢雇員 king 所在的部門名稱 select d.department name fro...
mysql 的多表連線
1 select from a b 預設是笛卡爾積 2 內連線 兩者一樣 顯示內連線 select from a inner join b on 條件 隱式內連線 select from a,b where 條件 3 外連線 3.1 左外連線 select from a left outer joi...
mysql多表連線
現有表r,s如下 select from r,s 結果 注 不需要任何條件。結果為兩張表函式相乘 3x3 9 自連線 select e.empno,e.ename,m.empno,m.ename from emp e,emp m where m.mgr e.empno 分為三種 交叉連線 內連線 外...