mysql連線操作 mysql中的連線操作

2021-10-17 12:55:01 字數 1677 閱讀 5775

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.列名 條件運算...