mysql的连表查询_MySQL_连表查询
連表查詢
連表查詢通常分為內(nèi)連接和外連接。內(nèi)連接就是使用INNER JOIN進行連表查詢;而外連接又分為三種連接方式,分別是左連接(LEFT JOIN)、右連接(RIGHT JOIN)、全連接(FULL JOIN)。下來我們一起來看一下這幾種連接方式的區(qū)別及基礎用法。
內(nèi)連接
INNER JOIN
INNER JOIN將只會返回相匹配的元素項,即不會返回結果為NULL的數(shù)據(jù)項。如下圖所示:
INNER JOIN查詢的兩張表(A、B)的共有的部分,查詢結果為null的記錄不會出現(xiàn)。
外連接
關鍵字OUTER是可選擇的,取決于具體語言,在實現(xiàn)上它們都是遵循標準的
LEFT JOIN
關鍵字從左表(A)返回所有的行,即使右表(B)中沒有匹配。如果右表中沒有匹配,則結果為NULL。
簡單來說就是不管右表(B)有沒有匹配到,都會完全輸出左表(A)的所有記錄,只是當右表的內(nèi)容沒有匹配到時,則將右表對應的字段的內(nèi)容設置為NULL。
當然,對查詢的SQL語句稍加改動就可以實現(xiàn)只查詢A表中存在的記錄。比如說添加一個右表的key為NULL的篩選條件。
RIGHT JOIN
關鍵字從右表(B)返回所有的行,即使左表(A)中沒有匹配。如果左表(A)中沒有匹配,則結果為 NULL。
如左連接類似,不管左表(A)有沒有匹配到結果,都完全顯示右表(B)的所有記錄,將左表(A)沒有匹配到的字段值設為NULL。
當然,也可以進行簡單的篩選得到只有右表(B)存在的記錄,設置左表中的key是NULL。
FULL JOIN
關鍵字只要左表(A)和右表(B)其中一個表中存在匹配,則返回行。FULL OUTER JOIN 關鍵字結合了 LEFT JOIN 和 RIGHT JOIN 的結果。
簡單來說就是只要兩張表(A、B)中任意一張表中存在匹配,則返回記錄,當然也可以簡單的篩選得到兩表中單獨存在的記錄。比例a.key is null or b.key is null。
總結
以上是生活随笔為你收集整理的mysql的连表查询_MySQL_连表查询的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python三种数据类型详解_最全面的P
- 下一篇: FreeEIM 2.0 beta 发布