SQL的相關語法記錄
【連接】
相關內容參考:
- 一張圖看懂 SQL 的各種 join 用法_51CTO博客_
sql join
用法 - SQL FULL OUTER JOIN 關鍵字 | 菜鳥教程 (runoob.com)
- 一文講懂SQL外連接OUTER JOIN - 知乎 (zhihu.com)
INNER JOIN
內連接
通過兩個集合的交集部分進行其它數(shù)據(jù)列的連接:
SELECT *
# 只拿出已經(jīng)有成績id的科目id來相連接
FROM subject JOIN score ON subject.id = score.id
這種連接方式和以下的代碼達到的效果類似:
SELECT *
FROM subject, score
WHERE subject.id = score.id
LEFT JOIN
左連接
通過左表目標id進行兩表的連接
SELECT *
# 因為右表id中不一定會有左表id的對應順序,因此可能存在null(非交集部分)
FROM subject LEFT JOIN score ON subject.id = score.id
那么這些左表空部分(LEFT JOIN EXCLUDING INNER JOIN
),便是:
SELECT *
FROM subject LEFT JOIN score ON subject.id = score.id
WHERE score.id IS null
RIGHT JOIN
右連接
和左連接類似,連接的左邊為空部分及兩表交集:
SELECT *
FROM subject RIGHT JOIN score ON subject.id = score.id
右表空部分(RIGHT JOIN EXCLUDING INNER JOIN
):
SELECT *
FROM subject RIGHT JOIN score ON subject.id = score.id
# 注意,因為是以右表為主,因此左表為null的部分才是無交集部分
WHERE subject.id IS null
FULL OUTER JOIN
全外連接
此種連接需注意:MySQL中不支持 FULL OUTER JOIN
,但是SQL Server允許
SELECT *
FROM subject FULL OUTER JOIN score ON subject.id = score.id
當然,如上述用法,除去中心交集的連接也是存在的文章來源:http://www.zghlxwxcb.cn/news/detail-825163.html
SELECT *
FROM subject FULL OUTER JOIN score ON subject.id = score.id
WHERE subject.id IS null OR score.id IS null
···待續(xù)···文章來源地址http://www.zghlxwxcb.cn/news/detail-825163.html
到了這里,關于SQL 語法基礎重溫的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!