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