更新時間:2021-01-20 17:05:12 來源:動力節點 瀏覽1180次
連接是關系數據庫模型的主要特點,也是它區別于其它類型數據庫管理系統的一個標志。而連接查詢則是關系數據庫中最主要的查詢,主要包括內連接、外連接和交叉連接等。在MySQL數據庫中,通過MySQL連接查詢可以實現多個表查詢。當查詢數據時,通過連接操作查詢出存放在多個表中的不同實體信息。當兩個或多個表中存在相同意義的字段時,便可以通過這些字段對不同的表進行連接查詢。
4種MySQL連接查詢主要分為內連接查詢、外連接查詢、子查詢、合并查詢。下面我們來一一介紹。
1.內連接查詢
內連接是一種最常用的連接類型。內連接查詢實際上是一種任意條件的查詢。使用內連接時,如果兩個表的相關字段滿足連接條件,就從這兩個表中提取數據并組合成新的記錄,也就是在內連接查詢中,只有滿足條件的元組才能出現在結果關系中。
內連接的數據記錄中,不會存在字段為NULL的情況。可以簡單地認為,內鏈接的結果就是在左連接或者右連接的結果中剔除存在字段為NULL的記錄后所得到的結果。
2.外連接查詢
連接查詢將查詢多個表中相關聯的行,內連接時,返回查詢結果集合中的僅是符合查詢條件和連接條件的行。但有時需要包含沒有關聯的行中數據,即返回查詢結果集合中的不僅包含符合連接條件的行,而且還包括左表(左連接)、右表(右連接)或兩個邊表中的所有數據行。外連接分為左外連接和右外連接;
LEFT JOIN(左連接):返回包括左表中的所有記錄和右表中連接字段相等的記錄
RIGHT JOIN(右連接):返回包括右表中所有記錄和左表中連接字段相等的記錄
左連接的結果包括LEFT OUTER子句中指定的左表的所有行,而不僅僅是連接列所匹配的行。如果左表的某行在右表中沒有匹配行,則在相關聯的結果行中右表的所有選擇列表列均為空值。
3.子查詢
子查詢是指一個查詢語句嵌套在另一個查詢語句內部的查詢,在SELECT子句中先計算子查詢,子查詢結果作為外層另一個查詢的過濾條件,查詢可以基于一個表或者多個表。子查詢中常用的操作符有ANY(SOME)、ALL、IN、EXISTS。子查詢可以添加到SELECT、UPDATE和DELETE語句中,而且可以進行多層嵌套。子查詢中也可以使用比較運算符,如“<”、“<=”、“>”、“>=”和“!=”等。本節將介紹如何在SELECT語句中嵌套子查詢。
4.合并查詢
利用UNION關鍵字,可以給出多條SELECT語句,并將它們的結果組合成單個結果集。合并時兩個表對應的列數和數據類型必須相同。各個SELECT語句之間使用UNION或UNION ALL關鍵字分隔。UNION不使用關鍵字ALL執行時,刪除重復記錄,所有返回行都是唯一的;使用關鍵字ALL的作用是不刪除重復行也不對結果進行自動排序。
以上就是4種MySQL連接查詢的簡短介紹,對于我們了解MySQL連接查詢起到了承接下文的過渡作用,但還需要我們去本站的MySQL教程中查看更多的相關知識,才能加深我們的理解,徹底學會MySQL連接查詢。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習