sql基礎之表關聯

2021-08-04 04:26:05 字數 1782 閱讀 2274

左連線:left join

下面有三張表a,b

a表 b表

總結:

左連線就是先把left join 左邊的表(a)的所有記錄先顯示出來,然後再根據on後面的條件匹配另一張表(b),但是如果說匹配到多條資料,然後就會把表a的資料複製一遍和後面表的資料一起顯示出來。其次如果a表的資料多,b表沒有就用null來補齊。

當然也可以在左連線之後再左連線。

如:select * from b a1 left join a b1 on a1.a_id=b1.a_id left join a a2 on a1.create_by=a2.a_id

如果說第二次連線後面條件不滿足條件就顯示空

右連線

總結:而右連線則是剛好相反。先顯示右面在來匹配左面。沒有則顯示空

多個右連線的執行順序

總結:多表的執行順序是,a和b先組成成乙個表,再與另外的b2表進行新的右關聯查詢,多個以此類推

內關聯

總結: inner join並不以誰為基礎,它只顯示符合條件的記錄.

使用場景:

left join操作用於在任何的 from 子句中,來組合第一張表的資料。使用 left join 運算來建立乙個左邊外部聯接。左邊外部聯接將包含了從第乙個(左邊)開始的兩個表中的全部記錄,即使在第二個(右邊)表中並沒有相符值的記錄。

語法:from table1 left join table2 on table1.field1 compopr table2.field2

說明:table1, table2引數用於指定要將記錄組合的表的名稱。

field1, field2引數指定被聯接的字段的名稱。且這些字段必須有相同的資料型別及包含相同型別的資料,但它們不需要有相同的名稱。

compopr引數指定關係比較運算子:」=」, 「」, 「<=」, 「>=」 或 「<>」。

SQL server基礎之(表間關聯)

首先先準備一些資料 e r圖 學生 學號,姓名,性別,生日,班級,密碼 課程 編號,課程 分數 學號,編號,分數 很簡單的三個表。接著我們來用幾種常見的連線方法把三張表連線在一起 注意 三張表之間的關係 將三張表整合到一起,顯示全部資訊 1 內連線 select student.sid,studen...

SQL語法(2高階入門之表關聯)

多表關聯的話表之間必須得存在關係才行,需要建立 外來鍵 約束 關係表中插入主表的主鍵做外來鍵。案列分析 需求 有使用者表sys user和角色表sys role,則建乙個把使用者與角色關聯起來的關係表我們稱之為使用者角色表sys userrole 那麼我們就可以用以下語句查詢每個使用者分別具備哪些角...

SQL基礎之模式與表

一 模式 schema 的概念 當我剛學到模式這個概念時,特別不理解。其實,schema就是把資料庫分成許多集合,每個集合包含了各種物件,如 表 檢視 儲存過程和索引等。不同的集合有不同的名字,預設情況下使用者名稱就是模式名。如果把乙個資料庫看成是乙個幢樓,大樓裡面的每個房間就是乙個模式,而房間裡面...