2014-08-16 BaoXinjian
一、SQL Tunning類
1. 列舉集中表的連接方式
Answer:等連接(內連接)、非等連接、自連接、外連接(左、右、全)
Or hash join/merge join/nest loop(cluster join)/index join
連接類型
定義
例子
內連接
只連接匹配的行
select A.c1,B.c2 from A join B on A.c3 = B.c3;
左外連接
包含左邊表的全部行(不管右邊的表中是否存在與它們匹配的行)以及右邊表中全部匹配的行
select A.c1,B.c2 from A left join B on A.c3 = B.c3;
右外連接
包含右邊表的全部行(不管左邊的表中是否存在與它們匹配的行)以及左邊表中全部匹配的行
select A.c1,B.c2 from A right join B on A.c3 = B.c3;
全外連接
包含左、右兩個表的全部行,不管在另一邊的表中是否存在與它們匹配的行
select A.c1,B.c2 from A full join B on A.c3 = B.c3;
(theta)連接
使用等值以外的條件來匹配左、右兩個表中的行
select A.c1,B.c2 from A join B on A.c3 != B.c3;
交叉連接
生成笛卡爾積——它不使用任何匹配或者選取條件,而是直接將一個數據源中的每個行與另一個數據源的每個行一一匹配
select A.c1,B.c2 from A,B;