SQL關聯查詢

2022-07-29 12:30:09 字數 1860 閱讀 8070

從2張或多張表中,取出有關聯的資料

關聯查詢一共有幾種情況:

內連線:inner join 、cross join

(1)形式一

select 字段列表

from a表 inner join b表

on 關聯條件

【where 其他篩選條件】

說明:如果不寫關聯條件,會出現一種現象:笛卡爾積

關聯條件的個數 = n - 1,n是幾張表關聯

on只能和join一起用

(2) 形式二

select 字段列表

from a表 , b表

where 關聯條件 【and 其他篩選條件】

外連線:左外連線(left outer join)

左連線:

第一種結果:a

select 字段列表

from a表 left join b表

on 關聯條件

第二種結果:a - a∩b

select 字段列表

from a表 left join b表

on 關聯條件

where 從表的關聯字段 is null

右外連線(right outer join)

第一種結果:b

select 字段列表

from a表 right join b表

on 關聯條件

第二種結果:b - a∩b

select 字段列表

from a表 right join b表

on 關聯條件

where 從表的關聯字段 is null

全外連線(full outer join)

使用union實現全連線的效果

select 字段列表

from a表 left join b表

on 關聯條件

union

select 字段列表

from a表 right join b表

on 關聯條件

select 字段列表

from a表 left join b表

on 關聯條件

where 從表的關聯字段 is null

union

select 字段列表

from a表 right join b表

on 關聯條件

where 從表的關聯字段 is null

自連線:當table1和table2本質上是同一張表,只是用取別名的方式虛擬成兩張表以代表不同的意義

SQL關聯查詢

一 關聯基礎 連線查詢 查詢兩個或兩個以上資料表或檢視的查詢,通常建立在存在相互關係的父子表之間。關聯查詢 查詢的結果集中的字段可能來自多張表。要從多張表中獲取資料時,就要找到這幾張表記錄的對應關係,然後建立聯絡後分別獲取。所以連線條件 指明表之間記錄的對應關係 在關聯查詢中十分關鍵。n 張表關聯查...

sql關聯查詢

1.內連線 是最普遍的一種連線方式,選出相連的兩張表都互相滿足連線條件的資料。寫法 select ainner joinb on a.id b.aid 其中inner可忽略 舉例 a表 查詢語句 select from a inner join b on a.id b.id。將a表的每一條資料拿出來...

SQL關聯查詢

select from a,b c 或者 select from a cross join b cross join c 注 沒有任何關聯條件,結果是 笛卡爾積,結果集 會很大,沒有意義,很少使用。select from a,b where a.id b.id 或者 select from a in...