java SQL中有幾種連接?有什么區(qū)別?(左連右連內(nèi)連和外連?)?
SQL中有幾種連接?有什么區(qū)別?(左連右連內(nèi)連和外連?)?兩種主要的連接類型是內(nèi)部連接和外部連接。到目前為止,所有示例中都使用了內(nèi)部聯(lián)接。內(nèi)部聯(lián)接只保留叉積中滿足聯(lián)接條件的行。如果一行存在于一個表中,
SQL中有幾種連接?有什么區(qū)別?(左連右連內(nèi)連和外連?)?
兩種主要的連接類型是內(nèi)部連接和外部連接。
到目前為止,所有示例中都使用了內(nèi)部聯(lián)接。內(nèi)部聯(lián)接只保留叉積中滿足聯(lián)接條件的行。如果一行存在于一個表中,但不存在于另一個表中,則結(jié)果表中不包含該信息。外部聯(lián)接是內(nèi)部聯(lián)接與左表和/或右表中不包含內(nèi)部聯(lián)接的行的并置。當(dāng)對兩個表執(zhí)行外部聯(lián)接時,一個表可以指定為左表,另一個指定為右表。有三種類型的外部聯(lián)接:左外部聯(lián)接包括內(nèi)部聯(lián)接和左表中不包括在內(nèi)部聯(lián)接中的行。右外部聯(lián)接包括內(nèi)部聯(lián)接和右表中不包括在內(nèi)部聯(lián)接中的行。所有外部聯(lián)接都包含內(nèi)部聯(lián)接以及左表和右表中不包含在內(nèi)部聯(lián)接中的行。
數(shù)據(jù)庫內(nèi)連接和外連接的區(qū)別?
內(nèi)部聯(lián)接:聯(lián)接結(jié)果僅包含滿足聯(lián)接條件的行,參與聯(lián)接的兩個表應(yīng)滿足聯(lián)接條件。
外部聯(lián)接:聯(lián)接結(jié)果不僅包含合格行,還包含不合格行。它包括左外連接、右外連接和所有外連接。
1. [internal connection
內(nèi)部連接,是最常見的等效連接,例如
select*from testa,testbwhere testa。A=試驗(yàn)B。A
結(jié)果:[2。外部連接
外部連接分為左外部連接、右外部連接和所有外部連接。
Left outer join或Left join
Left outer join是在等價連接的基礎(chǔ)上在主表中添加不匹配的數(shù)據(jù),例如:
select*from testa Left outer join testb on testa。A=試驗(yàn)B。A
結(jié)果: