国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL表LEFT JOIN左連接與RIGHT JOIN右連接的實例教程

2024-07-24 13:08:19
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了MySQL表LEFT JOIN左連接與RIGHT JOIN右連接的實例教程,表連接操作是MySQL入門學習中的基礎知識,需要的朋友可以參考下
 

LEFT JOIN 語法用法與實例
MySQL LEFT JOIN 語法
SQL(MySQL) LEFT JOIN 會取得左表(table1)全部記錄,即使右表(table2)并無對應匹配記錄。LEFT JOIN 基本語法如下:

... FROM table1 LEFT JOIN table2 ON condition ...

MySQL LEFT JOIN 用法實例
下面是兩個原始數據表:
article 文章表:

MySQL表LEFT JOIN左連接與RIGHT JOIN右連接的實例教程

user 用戶表:

MySQL表LEFT JOIN左連接與RIGHT JOIN右連接的實例教程

我們列出所有的文章及對應的所屬用戶,即使沒有用戶的文章也列出。
SELECT ... LEFT JOIN ... ON 語句如下:

SELECT article.aid,article.title,user.username FROM article LEFT JOIN user ON article.uid = user.uid

返回查詢結果如下:

MySQL表LEFT JOIN左連接與RIGHT JOIN右連接的實例教程

可以看出來,與 INNER JOIN 明顯的區別是,左表記錄被全部取出,即使右表無對應匹配記錄。
提示
這里所謂記錄被“全部”取出,是相對于 INNER JOIN 的限制來說的。其實可以在上面的 SQL 語句后面加個 WHERE 條件或者 LIMIT 等關鍵字以同一般 SQL 語句一樣對結果集做一個范圍限制。
IS NULL
在上面的例子中,對于右表中沒有對應匹配的數據記錄,其所有的列都被置為 NULL,因此要查詢這部分記錄(如在上面例子中體現為查找 aid=4 這類無對應用戶的文章記錄),可以附加 IS NULL 條件:

SELECT article.aid,article.title,user.username FROM article LEFT JOIN user ON article.uid = user.uid WHERE user.uid IS NULL

RIGHT JOIN 語法用法與實例
MySQL RIGHT JOIN 語法
SQL(MySQL) RIGHT JOIN 會取得右表(table2)全部記錄,即使左表(table2)并無對應匹配記錄。RIGHT JOIN 基本語法如下:

... FROM table1 RIGHT JOIN table2 ON condition ...

MySQL RIGHT JOIN 用法實例
下面是兩個原始數據表:
article 文章表:

MySQL表LEFT JOIN左連接與RIGHT JOIN右連接的實例教程

user 用戶表:

MySQL表LEFT JOIN左連接與RIGHT JOIN右連接的實例教程

我們列出所有的用戶,以及他們可能擁有的文章。
SELECT ... RIGHT JOIN ... ON 語句如下:

SELECT article.aid,article.title,user.username FROM article RIGHT JOIN user ON article.uid = user.uid

返回查詢結果如下:

MySQL表LEFT JOIN左連接與RIGHT JOIN右連接的實例教程

對比 LEFT JOIN 返回的查詢結果,RIGHT JOIN 返回的結果與其剛好“相反”。
IS NULL
在上面的例子中,對于左表中沒有對應匹配的數據記錄,其所有的列都被置為 NULL,因此要查詢這部分記錄(如在上面例子中體現為查找 username=Jack 這類無對應文章的所有用戶),可以附加 IS NULL 條件:

SELECT article.aid,article.title,user.username FROM article LEFT JOIN user ON article.uid = user.uid WHERE article.aid IS NULL


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德江县| 镇赉县| 阳西县| 遂昌县| 集安市| 元谋县| 四会市| 梧州市| 梨树县| 江津市| 香格里拉县| 绍兴县| 尤溪县| 霸州市| 油尖旺区| 邯郸市| 聂拉木县| 合山市| 神木县| 凭祥市| 云南省| 阿合奇县| 红原县| 公主岭市| 巴中市| 获嘉县| 新民市| 丹寨县| 晋宁县| 香河县| 南城县| 高密市| 阿克苏市| 蕉岭县| 五寨县| 莒南县| 清徐县| 丹棱县| 西乡县| 上饶市| 沂水县|