《Mysql入門MySQL表LEFT JOIN左連接與RIGHT JOIN右連接的實例教程》要點:
本文介紹了Mysql入門MySQL表LEFT JOIN左連接與RIGHT JOIN右連接的實例教程,希望對您有用。如果有疑問,可以聯系我們。
MYSQL數據庫LEFT JOIN 語法用法與實例
MySQL LEFT JOIN 語法
SQL(MySQL) LEFT JOIN 會取得左表(table1)全部記錄,即使右表(table2)并無對應匹配記錄.LEFT JOIN 基本語法如下:
MYSQL數據庫
... FROM table1 LEFT JOIN table2 ON condition ...
MYSQL數據庫MySQL LEFT JOIN 用法實例
下面是兩個原始數據表:
article 文章表:
MYSQL數據庫
MYSQL數據庫user 用戶表:
MYSQL數據庫
MYSQL數據庫我們列出所有的文章及對應的所屬用戶,即使沒有用戶的文章也列出.
SELECT ... LEFT JOIN ... ON 語句如下:
MYSQL數據庫
SELECT article.aid,article.title,user.username FROM article LEFT JOIN user ON article.uid = user.uid
MYSQL數據庫返回查詢結果如下:
MYSQL數據庫
MYSQL數據庫可以看出來,與 INNER JOIN 明顯的區別是,左表記錄被全部取出,即使右表無對應匹配記錄.
提示
這里所謂記錄被“全部”取出,是相對于 INNER JOIN 的限制來說的.其實可以在上面的 SQL 語句后面加個 WHERE 條件或者 LIMIT 等關鍵字以同一般 SQL 語句一樣對結果集做一個范圍限制.
IS NULL
在上面的例子中,對于右表中沒有對應匹配的數據記錄,其所有的列都被置為 NULL,因此要查詢這部分記錄(如在上面例子中體現為查找 aid=4 這類無對應用戶的文章記錄),可以附加 IS NULL 條件:
MYSQL數據庫
SELECT article.aid,article.title,user.username FROM article LEFT JOIN user
ON article.uid = user.uid WHERE user.uid IS NULL
MYSQL數據庫RIGHT JOIN 語法用法與實例
MySQL RIGHT JOIN 語法
SQL(MySQL) RIGHT JOIN 會取得右表(table2)全部記錄,即使左表(table2)并無對應匹配記錄.RIGHT JOIN 基本語法如下:
MYSQL數據庫
... FROM table1 RIGHT JOIN table2 ON condition ...
MYSQL數據庫MySQL RIGHT JOIN 用法實例
下面是兩個原始數據表:
article 文章表:
MYSQL數據庫
MYSQL數據庫user 用戶表:
MYSQL數據庫
MYSQL數據庫我們列出所有的用戶,以及他們可能擁有的文章.
SELECT ... RIGHT JOIN ... ON 語句如下:
MYSQL數據庫
SELECT article.aid,article.title,user.username FROM article RIGHT JOIN user ON article.uid = user.uid
MYSQL數據庫返回查詢結果如下:
MYSQL數據庫
MYSQL數據庫對比 LEFT JOIN 返回的查詢結果,RIGHT JOIN 返回的結果與其剛好“相反”.
IS NULL
在上面的例子中,對于左表中沒有對應匹配的數據記錄,其所有的列都被置為 NULL,因此要查詢這部分記錄(如在上面例子中體現為查找 username=Jack 這類無對應文章的所有用戶),可以附加 IS NULL 條件:
MYSQL數據庫
SELECT article.aid,article.title,user.username FROM article LEFT JOIN user
ON article.uid = user.uid WHERE article.aid IS NULL
《Mysql入門MySQL表LEFT JOIN左連接與RIGHT JOIN右連接的實例教程》是否對您有啟發,歡迎查看更多與《Mysql入門MySQL表LEFT JOIN左連接與RIGHT JOIN右連接的實例教程》相關教程,學精學透。維易PHP學院為您提供精彩教程。