1. 程式人生 > 其它 >簡述4種MySQL連線查詢

簡述4種MySQL連線查詢

連線是關係資料庫模型的主要特點,也是它區別於其它型別資料庫管理系統的一個標誌。而連線查詢則是關係資料庫中最主要的查詢,主要包括內連線、外連線和交叉連線等。在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連線查詢起到了承接下文的過渡作用