sql join 連線子句用於將資料庫中兩個或者兩個以上表中的記錄組合起來。連線通過共有值將不同表中的字段組合在一起:
最常用也最重要的連線形式是內連線,有時候也被稱作「equijoin」(等值連線)。內連線根據連線謂詞來組合兩個表中的字段,以建立乙個新的結果表。sql 查詢會比較逐個比較表 1 和表 2 中的每一條記錄,來尋找滿足連線謂詞的所有記錄對。當連線謂詞得以滿足時,所有滿足條件的記錄對的字段將會結合在一起構成結果表。
內連線的基本語法:
select table1.column1, table2.column2...
from table1
inner
join table2
on table1.common_field = table2.common_field;
左鏈結返回左表中的所有記錄,即使右表中沒有任何滿足匹配條件的記錄。這意味著,如果 on 子句在右表中匹配到了 0 條記錄,該連線仍然會返回至少一條記錄,不過返回的記錄中所有來自右表的字段都為 null。這就意味著,左連線會返回左表中的所有記錄,加上右表中匹配到的記錄,或者是 null (如果連線謂詞無法匹配到任何記錄的話)。
左連線的基本語法
select table1.column1, table2.column2...
from table1
left
join table2
on table1.common_field = table2.common_field;
右鏈結返回右表中的所有記錄,即是左表中沒有任何滿足匹配條件的記錄。這意味著,如果 on 子句在左表中匹配到了 0 條記錄,該連線仍然會返回至少一條記錄,不過返回的記錄中所有來自左表的字段都為null。這就意味著,右連線會返回右表中的所有記錄,加上左表中匹配到的記錄,或者是 null (如果連線謂詞無法匹配到任何記錄的話)。
右連線的基本語法:
select table1.column1, table2.column2...
from table1
right
join table2
on table1.common_field = table2.common_field;
全連線將左連線和右連線的結果組合在一起。
全連線的基本語法:
select table1.column1, table2.column2...
from table1
full
join table2
on table1.common_field = table2.common_field;
笛卡爾連線或者交叉連線返回兩個或者更多的連線表中記錄的笛卡爾乘積。也就是說,它相當於連線謂詞總是為真或者缺少連線謂詞的內連線。
笛卡爾連線的基本語法:
select table1.column1, table2.column2...
from table1, table2 [
, table3 ]
sql查詢語句 連線語句
若乙個查詢同時涉及兩個以上的表,則稱之為連線查詢。它包括等值連線,非等值連線,自然連線,自身連線,外連線和復合條件連線 表名1.列名1 連線運算子 表名2.列名2 當連線運算子為等號 時,稱為等值連線 使用其它運算子時,稱為非等值連線。若在等值連線中把目標列中重複的屬性列去掉則為自然連線。查詢每個學...
sql語句 連線表
cartesian join 笛卡爾連線 表1的每一行同表2的每一行結合做為一條記錄。這樣的查詢將返回 表1行數 x 表2行數 條記錄。這樣的連線沒有什麼使用者只是說明了所有連線是把表進行組合的。equi join 相等連線 一般用在表間有相同屬性的列。如有員工表和員工工資表,兩個表中都有員工號這一...
SQL連線查詢語句
1.left join left join是以a表的記錄為基礎的,a可以看成左表,b可以看成右表,left join是以左表為準的.換句話說,左表 a 的記錄將會全部表示出來,而右表 b 只會顯示符合搜尋條件的記錄 例子中為 a.aid b.bid b表記錄不足的地方均為null.2.right j...