mysql中的連線操作

2021-08-09 12:33:08 字數 1686 閱讀 5816

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中的連線操作

1.交叉連線 交叉連線不帶where子句,會返回被連線的兩個表的笛卡爾積,返回結果的行數等於兩個錶行數的乘積。2.內連線 內連線合併具有同一列的兩個以上的表的行,結果集中不包含乙個表與另乙個表不匹配的行。語法 select from 表1 inner join 表2 on 表1.列名 條件運算子 表...

mysql中的連線操作

1.交叉連線 交叉連線不帶where子句,會返回被連線的兩個表的笛卡爾積,返回結果的行數等於兩個錶行數的乘積。2.內連線 內連線合併具有同一列的兩個以上的表的行,結果集中不包含乙個表與另乙個表不匹配的行。語法 select 列名 from 表1 inner join 表2 on 表1.列名 條件運算...

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...