




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
SQL多表查1、集合理1.1集 1rows1 0rowsn也可以有多個(gè)列,這些列可以是從多個(gè)表中取出的多行信息。mrowsn1)ABe∈Ae∈B}ABe|e∈Ae!∈B}ABe∈A交FROMproductspFROMmore_productsm差FROMproductspFROMmore_productsm并--使用unionall--unionall操作符返回查詢所檢索出的所有行,包括重復(fù)行。SELECTduct_id,duct_type_id,FROMproductspunionFROMmore_productsmselect*fromproductsselect*frommore_productsFROMproducts--ORDERBY1UNIONFROMmore_productsORDERBY1--使用unionFROMproductsFROMmore_productsORDERBY1SELECTproduct_id,product_type_id,NAMEFROMproductsSELECTprd_id,prd_type_id,NAMEFROMmore_productsSELECTproduct_id,product_type_id,NAMEFROMSELECTproduct_id,product_type_id,NAMEFROMproducts(SELECTprd_id,prd_type_id,NAMEFROMmore_productsSELECTproduct_id,product_type_id,NAMEFROM內(nèi)連2.1連連接在SQL92join關(guān)鍵字來(lái)實(shí)現(xiàn),JOIN關(guān)鍵字操作本質(zhì)上來(lái)說(shuō)在一個(gè)SQL語(yǔ)句中,JOINFROMFROMjoin_tablejoin_typejoin_table[ON(join_condition)]----左外連接(LEFTOUTERJOIN或LEFTJOIN)、右外連接(RIGHTOUTERJOINRIGHTJOIN)和全外連接(FULLOUTERJOINFULLJOIN)SQL92標(biāo)準(zhǔn)來(lái)說(shuō),交叉連接(CROSSJOIN)ONUSING關(guān)鍵字;對(duì)于SQL89標(biāo)準(zhǔn)來(lái)說(shuō),就是不帶where搜索條件的連接。SSELECT*FROMproducts,--連接操作中的ON(join_condition)子句連接條件,查詢會(huì)將A表的每一行和B表的每一行進(jìn)行比較,并找出滿足連接謂詞的組合。當(dāng)連接謂詞被滿足,A和B中匹配的行會(huì)按列組合(并排組結(jié)果集中的一行。AB中的每一行組合,然后返回滿足連接謂詞的記錄。FROMtable_nameINNERJOIN ONsearch_condition;FROMtable_nameINNERJOIN SELECTvalue_expressionWHEREsearch_condition;WHEREONSELECT*FROMproducts;SELECT*FROMproduct_types;FROMduct_type_id=SELECT,product_FROMduct_type_id=ON=比較操作符SELECT*FROMproducts;SELECT*FROMpurchases;SELECTFROMproductsINNERJOINpurchasesONduct_id=ONSELECT*FROMproducts;SELECT*FROMproduct_types;FROMproductsinnerjoinonnvl(duct_type_id,2)<>value_expression中不能使用表別名。SELECT*FROMproducts;SELECT*FROMpurchases;SELECTcustomer_id,product_id,price,tyFROMpurchasesnaturalinnerjoinproducts;duct_id=SELECT,FROMproductsPINNERJOINproduct_typesONduct_type_id=SELECTFROM(select_statement)ONsearch_condition;FROM(select_statement)SELECT*FROMproducts;SELECT*FROMSELECTproduct_id,name,priceFROMproductsWHEREproduct_type_idISNOTNULLANDprice>15SELECTproduct_id,customer_id,tyFROMpurchasesWHEREty>SELECTduct_id,,pc.customer_id,pc.tyFROM(SELECTproduct_id,name,priceFROMWHEREproduct_type_idISNOTNULLANDprice>15)pdINNERJOIN(SELECTproduct_id,customer_id,tyFROMpurchasesWHEREty>1)pc .product_id=duct_id;JOIN和JOINSELECTFROM(table_nameINNERJOINtable_nameONsearch_condition)INNERJOINONFROMtable_nameINNER(table_nameINNERJOINtable_nameONsearch_condition)ONsearcha_condition;SELECT*FROMcustomers;SELECT*FROMproducts;SELECT*FROMSELECTc.customer_id,c. _name,c.last_nameFROM(productspdINNERJOINpurchasespcONduct_id=duct_idANDpc.ty>1)INNERJOINcustomerscONc.customer_id=SELECTc.customer_id,c. _name,c.last_nameFROMcustomerscINNERJOIN(productspdINNERJOINpurchasesONduct_id=ANDpc.ty>1)ONc.customer_id=外連3.1外連出現(xiàn)在JOIN前的第一個(gè)表為左表,JOIN后的第二個(gè)表為右表左外連接:先對(duì)AB表做內(nèi)連接,再將A表沒有匹配的行加入到結(jié)果集中得到最終的FROMtable_nameLEFTOUTERONFROMtable_nameRIGHTOUTERONSELECTvalue_expressionSELECTvalue_expression1SELECT*FROMproducts;SELECT*FROMproduct_types;SELECTduct_id duct_type_idlpti, rnameFROMproductsleftouterJOINproduct_typesONduct_type_id=duct_type_idORDERBY1;2SELECT*FROMproducts;SELECT*FROMSELECTduct_idlpi,lname,pc.tyrtyFROMproductspleftOUTERJOINpurchasesONduct_id=duct_idORDERBY1;3SELECT*FROMproducts;SELECT*FROMSELECTduct_idlpi,lname,pc. tyr FROMproductspleftOUTERJOINpurchasesONduct_id=duct_idANDduct_id<>1ORDERBY1;4SELECTduct_idlpi,lname,pc.tyrtyFROMproductspLEFTOUTERJOINpurchasesONduct_id=duct_idWHEREduct_id<>1ORDERBY1SELECT*FROMproducts;SELECT*FROMproduct_types;SELECTduct_idlpi,lname,rnameFROMproductspRIGHTOUTERJOINproduct_typesONduct_type_id=duct_type_idORDERBY1;2SELECTduct_idlpi,lname,FROMproductsRIGHTOUTERJOINproduct_typesONduct_type_id=duct_type_idAND<>' ORDERBYSELECTFROM(select_statement)1SELECT*FROMproducts;SELECT*FROMSELECTduct_id,,,pc.customer_id,pc.FROM(SELECTproduct_id,name,priceFROMproductsWHEREproduct_type_idISNOTNULLANDprice>15)pdLEFTOUTERJOIN(SELECTproduct_id,customer_id,tyFROMpurchasesWHEREty>1)pc .product_id=duct_id;2SELECT*FROMproducts;SELECT*FROMproduct_types;SELECTduct_id,duct_type_id,,,duct_type_id,FROM(SELECTproduct_id,product_type_id,name,priceFROMproductsWHEREprice>15)RIGHTOUTERJOIN(SELECTproduct_type_id,FROMWHEREproduct_type_id<>1)ptONduct_type_id=--哪些用戶沒有過Supernova產(chǎn)品(select嵌套SELECT*FROMcustomers;SELECT*FROMproducts;SELECT*FROMSELECTc.customer_id,c. _name,c.last_name,duct_idFROMcustomerscLEFTOUTERJOIN(SELECTFROMproductsinnerJOINpurchasesONduct_id=duct_idWHERE='Supernova')ipONc.customer_id=ip.customer_idWHEREduct_idISNULL;JOIN和JOINSELECTONFROMtable_name(table_nameLEFT/RIGHTOUTERJOINtable_nameONsearch_condition)ONsearch_condition;--哪些用戶沒有過Supernova產(chǎn)品(join嵌套SELECT*FROMcustomers;SELECT*FROMproducts;SELECT*FROMSELECTc.customer_id,c. _name,c.last_name,duct_idFROMcustomerscLEFTOUTERJOIN(productspinnerJOINpurchasespcONduct_id=AND='Supernova')ONc.customer_id=pc.customer_idWHEREduct_idISNULL;SELECTSELECT*FROMproducts;SELECT*FROMproduct_types;SELECTduct_idlpi,lname,rnameFROMproductspFULLOUTERJOINproduct_typesONduct_type_id=duct_type_idORDERBY1;交叉連接返回符合邏輯表達(dá)式的行(內(nèi)連接加入左表不符合邏輯表達(dá)式的行(左外連接)交叉連接返回符合邏輯表達(dá)式的行(內(nèi)連接加入右表不符合邏輯表達(dá)式的行(右外連接)交叉連接->((右外連子查4.1子查select1。ncols0/1rows(2)表子查詢(TABLEsubquery)一個(gè)嵌入的select表達(dá)式,返回單個(gè)或多個(gè)列,行數(shù)任意。 ncolsmrows(3)標(biāo)量子查詢(scalarsubquery) 1cols1SQLwhere、havingon子句中查詢條件謂詞的SELECT*FROMproducts;SELECT*FROMWHERE(product_id,price)>(1,selectwhere子句需要的比較值列表中使用通過標(biāo)量子查詢得到的單個(gè)SELECTvalue_expressionFROMtable_name;+-*/SELECT*FROMcustomers;SELECT*FROMproducts;SELECT*FROM--在select子句SELECTc. =c.customer_id) FROMcustomersc;SELECTc. (SELECTCOUNT(*)FROMpurchasespWHEREp.customer_id= FROMcustomers--在where搜索條件中SELECT*FROMproducts;SELECT*FROMpurchases;duct_idfrompurchasesSELECTduct_id,,p.priceFROMproductspWHEREduct_id(duct_idfrompurchasesselectc. duct_id=innerjoincustomersconc.customer_id=SELECTvalue_expressionFROMtable_referenceWHEREsearch_conditionGROUPBYvalue_expressionHAVINGsearch_conditiontable_referenceONWHERE集員IN/NOTFROMtable_referenceSELECT*FROMproducts;SELECT*FROMSELECTFROMWHEREproduct_idIN(SELECTproduct_idFROMSELECTFROMWHEREproduct_idNOTIN(SELECTproduct_idFROMSELECTFROMWHERE(product_id,product_type_id)(SELECTproduct_id,tyFROM定量比較謂詞 ANY=FROMtable_referenceSELECTFROMWHEREproduct_type_id=(SELECTproduct_idFROMSELECTFROMWHEREproduct_id>ANY(SELECTproduct_idFROMSELECTFROMWHEREproduct_id>ALL(SELECTproduct_idFROMall,小于最小的,大于allEXISTSNOTEXISTS否則返回falseNOTEXISTSEXISTSSELECT*FROMproducts;SELECT*FROMSELECTFROMproductspWHEREEXISTS(SELECT*FROMpurchasespc,productspWHEREduct_id=SELECTFROMproductspWHERE
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 全球環(huán)保產(chǎn)業(yè)技術(shù)創(chuàng)新與市場(chǎng)前景分析報(bào)告2025
- BLX-3887-生命科學(xué)試劑-MCE
- 寧夏葡萄酒與防沙治沙職業(yè)技術(shù)學(xué)院《中國(guó)文學(xué)導(dǎo)讀》2023-2024學(xué)年第一學(xué)期期末試卷
- 滄州師范學(xué)院《綜藝節(jié)目編導(dǎo)》2023-2024學(xué)年第一學(xué)期期末試卷
- 內(nèi)蒙古師范大第二附中2024年化學(xué)九年級(jí)第一學(xué)期期末達(dá)標(biāo)測(cè)試試題含解析
- 武昌首義學(xué)院《中外經(jīng)典戲劇作品選講》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年河北省石家莊市橋西區(qū)九年級(jí)化學(xué)第一學(xué)期期末質(zhì)量檢測(cè)模擬試題含解析
- 共享出行信用保險(xiǎn)與信用體系構(gòu)建研究報(bào)告
- 2025全球勞動(dòng)力趨勢(shì)報(bào)告第1期
- 2024年山東省青島市廣雅中學(xué)七年級(jí)數(shù)學(xué)第一學(xué)期期末達(dá)標(biāo)檢測(cè)模擬試題含解析
- 天然氣開采業(yè)的技術(shù)裝備與設(shè)施建設(shè)
- 市自然資源局保密審查工作自查自糾情況總結(jié)
- 葫蘆灸培訓(xùn)課件
- 大自然中的數(shù)字:數(shù)學(xué)在自然界的應(yīng)用
- 《鋼筋混凝土結(jié)構(gòu)課程設(shè)計(jì)》
- PSP問題解決程序
- 自動(dòng)鎖螺絲機(jī)的使用說(shuō)明書
- 2023年專業(yè)技術(shù)人員繼續(xù)教育公需課題庫(kù)附含答案
- 集團(tuán)資金集中管理辦法
- 建設(shè)用地報(bào)批程序及基本要求
- 北師大版八年級(jí)數(shù)學(xué)上冊(cè)教學(xué)課件全套
評(píng)論
0/150
提交評(píng)論