資源描述:
《union 操作符用于合并兩個(gè)或多個(gè) select 語(yǔ)句的結(jié)果集》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、?1UNIONUNIONALLUNION操作符用于合并兩個(gè)或多個(gè)SELECT語(yǔ)句的結(jié)果集。請(qǐng)注意,UNION內(nèi)部的SELECT語(yǔ)句必須擁有相同數(shù)量的列。列也必須擁有相似的數(shù)據(jù)類型。同時(shí),每條SELECT語(yǔ)句中的列的順序必須相同。SQLUNION語(yǔ)法SELECTcolumn_name(s)FROMtable_name1UNIONSELECTcolumn_name(s)FROMtable_name2注釋:默認(rèn)地,UNION操作符選取不同的值。如果允許重復(fù)的值,請(qǐng)使用UNIONALL。SQLUNIONALL語(yǔ)法SELECTcolumn_name(s)FROMtable_name1UNIONALL
2、SELECTcolumn_name(s)FROMtable_name2另外,UNION結(jié)果集中的列名總是等于UNION中第一個(gè)SELECT語(yǔ)句中的列名。下面的例子中使用的原始表:Employees_China:E_IDE_Name01Zhang,Hua02Wang,Wei03Carter,Thomas04Yang,MingEmployees_USA:E_IDE_Name01Adams,John02Bush,George03Carter,Thomas04Gates,Bill使用UNION命令實(shí)例列出所有在中國(guó)和美國(guó)的不同的雇員名:SELECTE_NameFROMEmployees_China
3、UNIONSELECTE_NameFROMEmployees_USA結(jié)果E_NameZhang,HuaWang,WeiCarter,ThomasYang,MingAdams,JohnBush,GeorgeGates,Bill注釋:這個(gè)命令無(wú)法列出在中國(guó)和美國(guó)的所有雇員。在上面的例子中,我們有兩個(gè)名字相同的雇員,他們當(dāng)中只有一個(gè)人被列出來(lái)了。UNION命令只會(huì)選取不同的值。UNIONALLUNIONALL命令和UNION命令幾乎是等效的,不過(guò)UNIONALL命令會(huì)列出所有的值。SQLStatement1UNIONALLSQLStatement2使用UNIONALL命令實(shí)例:列出在中國(guó)和美國(guó)的
4、所有的雇員:SELECTE_NameFROMEmployees_ChinaUNIONALLSELECTE_NameFROMEmployees_USA結(jié)果E_NameZhang,HuaWang,WeiCarter,ThomasYang,MingAdams,JohnBush,GeorgeCarter,ThomasGates,Bill?1leftjoin、rightjoin、innerjoin、fulljoin、unionall、uniontab1:IDnameagefatherID1張三2012李四2533王五4044趙六352tab2:IDfatherNamefatherAge1張三父452
5、趙六父603李四父40左聯(lián)接以左表為基準(zhǔn),select*fromtab1t1leftjointab2ontab1.fatherID=tab2.id以tab1為基準(zhǔn)執(zhí)行結(jié)果是:————————————————----------------------------------tab1.IDnameagefatherIDtab2.idfatherNamefatherAge1張三2011張三父452李四2533李四父403王五404nullnullnull4趙六3522趙六父60————————————————----------------------------------;右聯(lián)接以右表為基
6、準(zhǔn),等于左聯(lián)接的反向查詢:selecttab1.*fromtab1rightjointab2ontab1.fatherID=tab2.id以tab2為基準(zhǔn)執(zhí)行結(jié)果是:————————————————----------------------------------tab1.IDnameagefatherIDtab2.idfatherNamefatherAge1張三2011張三父452李四2533李四父404趙六3522趙六父60————————————————----------------------------------;內(nèi)聯(lián)接查詢兩張表?xiàng)l件都符合的:selecttab1.*fro
7、mtab1innerjointab2ontab1.fatherID=tab2.id意為tab1.fatherID與tab2.id
相等的條件下才會(huì)顯示:————————————————----------------------------------tab1.IDnameagefatherIDtab2.idfatherNamefatherAge1張三2011張三父452李四2533李四父404趙六3522趙六父60——