日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

SQL连接学习总结

發(fā)布時(shí)間:2025/4/14 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL连接学习总结 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

SQL連接學(xué)習(xí)總結(jié)


一 SQL 連接(JOIN)

SQL join 用于把來自兩個(gè)或多個(gè)表的行結(jié)合起來。
SQL JOIN 子句用于把來自兩個(gè)或多個(gè)表的行結(jié)合起來,基于這些表之間的共同字段。
最常見的 JOIN 類型:SQL INNER JOIN(簡(jiǎn)單的 JOIN)。?
SQL INNER JOIN 從多個(gè)表中返回滿足 JOIN 條件的所有行。


不同的 SQL JOIN
INNER JOIN:如果表中有至少一個(gè)匹配,則返回行
LEFT JOIN:即使右表中沒有匹配,也從左表返回所有的行
RIGHT JOIN:即使左表中沒有匹配,也從右表返回所有的行
FULL JOIN:只要其中一個(gè)表中存在匹配,則返回行


SQL INNER JOIN
INNER JOIN 關(guān)鍵字在表中存在至少一個(gè)匹配時(shí)返回行。
INNER JOIN 與 JOIN 是相同的。


SQL LEFT JOIN
LEFT JOIN 關(guān)鍵字從左表(table1)返回所有的行,即使右表(table2)中沒有匹配。如果右表中沒有匹配,則結(jié)果為 NULL。
在某些數(shù)據(jù)庫(kù)中,LEFT JOIN 稱為 LEFT OUTER JOIN。


SQL RIGHT JOIN
RIGHT JOIN 關(guān)鍵字從右表(table2)返回所有的行,即使左表(table1)中沒有匹配。如果左表中沒有匹配,則結(jié)果為 NULL。
在某些數(shù)據(jù)庫(kù)中,RIGHT JOIN 稱為 RIGHT OUTER JOIN。


SQL FULL OUTER JOIN
FULL OUTER JOIN 關(guān)鍵字只要左表(table1)和右表(table2)其中一個(gè)表中存在匹配,則返回行.
FULL OUTER JOIN 關(guān)鍵字結(jié)合了 LEFT JOIN 和 RIGHT JOIN 的結(jié)果。
FULL OUTER JOIN 關(guān)鍵字返回左表(Websites)和右表(access_log)中所有的行。


二 名詞的說明

內(nèi)聯(lián)接。包括相等聯(lián)接和自然聯(lián)接。 ? ??
內(nèi)聯(lián)接使用比較運(yùn)算符根據(jù)每個(gè)表共有的列的值匹配兩個(gè)表中的行。例如,檢索 students和courses表中學(xué)生標(biāo)識(shí)號(hào)相同的所有行。 ??
? ??
外聯(lián)接。外聯(lián)接可以是左向外聯(lián)接、右向外聯(lián)接或完整外部聯(lián)接。 ? ??
完整外部聯(lián)接返回左表和右表中的所有行。當(dāng)某行在另一個(gè)表中沒有匹配行時(shí),則另一個(gè)表的選擇列表列包含空值。如果表之間有匹配行,則整個(gè)結(jié)果集行包含基表的數(shù)據(jù)值。 ??


交叉聯(lián)接 ??
交叉聯(lián)接返回左表中的所有行,左表中的每一行與右表中的所有行組合。交叉聯(lián)接也稱作笛卡爾積。


三 例子

? ?
-------------------------------------------------
? a表 ? ? id ? name ? ? b表 ? ? id ? job ? parent_id ??
? ? ? ? ? ? ? 1 ? 張3 ? ? ? ? ? ? ? ? ? 1 ? ? 23 ? ? 1 ??
? ? ? ? ? ? ? 2 ? 李四 ? ? ? ? ? ? ? ? 2 ? ? 34 ? ? 2 ??
? ? ? ? ? ? ? 3 ? 王武 ? ? ? ? ? ? ? ? 3 ? ? 34 ? ? 4 ? ? ??
? a.id同parent_id ? 存在關(guān)系 ??
-------------------------------------------------- ? ?
1) 內(nèi)連接 ??
?select ? a.*,b.* ? from ? a ? inner ? join ? b ? ? on ? a.id=b.parent_id ? ? ??
?結(jié)果是 ? ??
?1 ? 張3 ? ? ? ? ? ? ? ? ? 1 ? ? 23 ? ? 1 ??
?2 ? 李四 ? ? ? ? ? ? ? ? ?2 ? ? 34 ? ? 2 ??


2)左連接 ??
?select ? a.*,b.* ? from ? a ? left ? join ? b ? ? on ? a.id=b.parent_id ? ? ??
?結(jié)果是 ? ??
?1 ? 張3 ? ? ? ? ? ? ? ? ? 1 ? ? 23 ? ? 1 ??
?2 ? 李四 ? ? ? ? ? ? ? ? ?2 ? ? 34 ? ? 2 ??
?3 ? 王武 ? ? ? ? ? ? ? ? ?null ??


3) 右連接 ??
?select ? a.*,b.* ? from ? a ? right ? join ? b ? ? on ? a.id=b.parent_id ? ? ??
?結(jié)果是 ? ??
?1 ? 張3 ? ? ? ? ? ? ? ? ? 1 ? ? 23 ? ? 1 ??
?2 ? 李四 ? ? ? ? ? ? ? ? ?2 ? ? 34 ? ? 2 ??
?null ? ? ? ? ? ? ? ? ? ? ? 3 ? ? 34 ? ? 4 ??


4) 完全連接 ??
select ? a.*,b.* ? from ? a ? full ? join ? b ? ? on ? a.id=b.parent_id ??
結(jié)果是 ? ??
?1 ? 張3 ? ? ? ? ? ? ? ? ?1 ? ? 23 ? ? 1 ??
?2 ? 李四 ? ? ? ? ? ? ? ? 2 ? ? 34 ? ? 2 ??
?null ? ? ? ? ? ? ?    ?3 ? ? 34 ? ? 4 ??
?3 ? 王武 ? ? ? ? ? ? ? ? null

總結(jié)

以上是生活随笔為你收集整理的SQL连接学习总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。