1.交叉連線
交叉連線不帶where子句,會返回被連線的兩個表的笛卡爾積,返回結果的行數等於兩個錶行數的乘積。
2.內連線:
內連線合併具有同一列的兩個以上的表的行, 結果集中不包含乙個表與另乙個表不匹配的行。
語法:select
from 表1 inner join 表2
on 表1.列名 條件運算子 表2.列名
[where 條件]
[order by 排序列]
(1)等值連線
等值連線必須要有等值的條件,當條件不同時連線的結果也不相同,兩個關係可以沒有相同的屬性列(列名可不同)
l表:
y表:
where條件為:
(2)自然連線:
自然連線(natural join)是一種特殊的等值連線,它要求兩個關係中進行比較的分量必須是相同的屬性組,並且在結果中把重複的屬性列去掉。而等值連線並不去掉重複的屬性列。
(3)不等值連線:出等號之外的運算子
3.外連線:
外連線操作以指定表為連線主體,將主體表中不滿足連線條件的元組一併輸出。(連線條件裡屬性列可同可不同)
(1)左外聯結 (left join):
左外連線使用left join連線兩表,連線時左表為主表,左表中的每條記錄必定出現在結果集中,而在右表中沒有對應的記錄,將以null值進行填充。
語法:select * from table_a
left join table_b
on 連線條件
[where 條件]
例:select * from l left join y on l.b=y.c
(2)右外聯結 (right join):
右外連線與左外連線相似,不同的是右表為主表,右表中的每條記錄必定出現在結果集中,而在左表中沒有對應的記錄,將以null值進行填充。
語法:select * from table_a
right join table_b
on 連線條件
[where 條件]
例:select * from l right join y on l.b=y.c
4.內外連線的區別:
mysql連線操作 MySQL內連線操作
筆記 實現內連線 以運算元據庫tb train cpp2和tb train cpp22為例 desc tb train cpp2 desc tb train cpp22 資料表tb train cpp2中的字段country與tb train cpp22中的字段cname對應 可實現內連線 sele...
mysql中的連線操作
1.交叉連線 交叉連線不帶where子句,會返回被連線的兩個表的笛卡爾積,返回結果的行數等於兩個錶行數的乘積。2.內連線 內連線合併具有同一列的兩個以上的表的行,結果集中不包含乙個表與另乙個表不匹配的行。語法 select 列名 from 表1 inner join 表2 on 表1.列名 條件運算...
mysql中的連線操作
1.交叉連線 交叉連線不帶where子句,會返回被連線的兩個表的笛卡爾積,返回結果的行數等於兩個錶行數的乘積。2.內連線 內連線合併具有同一列的兩個以上的表的行,結果集中不包含乙個表與另乙個表不匹配的行。語法 select 列名 from 表1 inner join 表2 on 表1.列名 條件運算...