sql多表查詢代碼示例_第1頁
sql多表查詢代碼示例_第2頁
sql多表查詢代碼示例_第3頁
sql多表查詢代碼示例_第4頁
sql多表查詢代碼示例_第5頁
免費預覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、SQL多表查詢代碼示例在Pubs數(shù)據(jù)庫中,完成以下查詢use P ubs-使用內(nèi)聯(lián)接查詢岀 authors和publishers 表中位于同一個城市的作者和岀版社信息select au_fname+ +au_lname as 作者,pub_name as 岀版社from authors inner join p ublisherson =-查詢岀作者號以15開頭的所有作者,并使用右外聯(lián)接在查詢的結(jié)果集中列岀和作者-在同一個城市的岀版社名select au_fname+ +au_ lname as 作者,pub_name as 岀版社 p ublishersfrom authors right

2、outer jo in on like 1-5%where =-使用自聯(lián)接查找居住在 Oakland-+ as 作者相同郵碼區(qū)域中的作者。select dist inct +from authors a inn er jo in authors b on =where =Oakla nd and -P26學習手冊上機試驗的所有題目select ascii(sql)-結(jié)果:115select char(66)-結(jié)果:Bselect chari ndex(E,HELLO)-結(jié)果:2select left(RICHARD,4)-結(jié)果:RICHselect len( RICHARD)-結(jié)果:7sele

3、ct lower(RICHARD)-結(jié)果:richardselect SQL+ltrim(RICHARD)-結(jié)果:SQLRICHARDselect reverse(ACTION)-結(jié)果:NOITCAselect rightCRICHARD,4)-結(jié)果:HARD)+SQLselect rtrim(RICHARD-結(jié)果:RICHARDSQL select pat in dex(%BOX%,ACTIONBOX)-結(jié)果:7 select RICHARD+s pace(2)+HELL-結(jié)果:RICHARD HELL select stuff(Weather,2,2,T)-結(jié)果:WIther select

4、 substri ng(Weather,2,2)-結(jié)果:ea select upp er(Richard)-結(jié)果:RICHARD select dateadd(dd,10,getdate()-結(jié)果:2005-10-26 16:04: select datediff(dy,getdate(),2005-01-01)-結(jié)果:-288 select date part(dw,2004-10-01)-結(jié)果:6 select date name(dw,2004-10-01)-結(jié)果:星期五-第七講多表查詢上機實驗 use recruitme nt 需要得到年齡在 35歲到40歲之間的外部候選人的信息 se

5、lect * from Exter nalCa ndidate where datediff(yy,dbirthdate,getdate() betwee n 35 and 40 需要在當前日期之后的10天在報紙上登載一則廣告,系統(tǒng)需要計算岀日期并顯示select dist inct getdate() as today,dateadd(day,10,getdate() as 10 days from todayfrom n ewsad統(tǒng)計外部候選人接受測試和面試日期的間隔的時間平均值測試面試日期間隔平均天數(shù)select avg(datediff(day,dtestdate,di ntervi

6、ewdate) as from exter nalca ndidate需要獲取外部候選人的姓名和他們申請的職位select as 姓名,as申請職位from exter nalca ndidate left join p ositi on on =需要獲得在2001年應聘的外部候選人的名字,及推薦他們的招聘機構(gòu)名select as 名字,as推薦他們的招聘機構(gòu)名from exter nalca ndidate left join recruitme ntage ncies on = where year=2001需要獲取外部候選人的姓名以及他們的參照的招聘的廣告所屬的報紙名select as

7、姓名,as參照招聘廣告所屬報紙from exter nalca ndidate ,n ewsad ,n ews paper where = and 需要獲取大學名稱、報紙名稱以及它們地址的列表 select as 大學名稱,學校地址,as 報紙名稱,as 報社地址from college ,n ews paper-問題:這兩張表之間沒有聯(lián)系,那么應選用何種聯(lián)接否則這里面有太多冗余數(shù)據(jù) -是否為同一所城市里有哪些大學和哪些報紙select as 大學名稱,學校地址,as 報紙名稱,as 報社地址from college ,n ews paper where =-因為大學所在城市的值為某某,而報紙

8、所在城市的值為某某市,因此按此不能正確查岀結(jié)果 -采用以下辦法可以解決select as大學名稱,學校地址,as報紙名稱,as報社地址from college ,n ews paperwhere left(ltrim,2)=left(ltrim,2)-還是顯示岀大學表里符合條件的記錄與報紙表里符合條件的記錄之積,內(nèi)聯(lián)接結(jié)果一樣-第七講多表查詢作業(yè)-P26學習手冊上機作業(yè)的所有題目 use GlobalToyz-按指定格式(詳見學習手冊P27)顯示所有運貨的報表(天數(shù)=實際到達日期-運貨日期)select corderno as定單號,dshipmentdate as運貨日期,dactualde

9、liverydate as實際到達日期,運送天數(shù)datediff(day,dshi pmen tdate,dactualdeliverydate) as from shipment-小結(jié):兩日期之差運算為第二個日期參數(shù)-第一個日期參數(shù)-按指定格式(詳見學習手冊P27)顯示所有的訂單select cOrderNo as 定單號,cShopperld as購物者號,dOrderDate as 訂單日期(號)date name(dw,dorderdate) 星期幾from orders-小結(jié):求星期幾,日期元素只能用Dvy而不能用 WK WK求得是在一年中的第幾周,而列別名如果有特殊字符需要引號引起

10、來-顯示所有玩具名和所屬的種類名select as 玩具名,as 種類名from category join toys on -小結(jié):交叉聯(lián)接不能使用條件,而內(nèi)聯(lián)接和右外聯(lián)接在此效果相同,-左外聯(lián)接和全外聯(lián)接效果相同,但多岀九條玩具名為空的記錄,即使沒有該玩具屬于該種類-因為左外聯(lián)接時將顯示所有左表中即種類表中的記錄,-此時玩具名為 NULL值-JOIN前不加關(guān)鍵字時默認為內(nèi)聯(lián)接-用join聯(lián)接表名時,后面條件語句只能先跟on關(guān)鍵字,不能直接用where-按指定格式(詳見學習手冊P27)顯示所有玩具的名稱、商標和種類select as 玩具名,as 商標名,as類別名from toys,Toy

11、Bra ndCategory where = and = -問題:如果用逗號聯(lián)系多張表,之間采用的是什么聯(lián)接方式表與表之間的前后順序影不影響結(jié) 果-按指定格式(詳見學習手冊P28)顯示所有玩具的訂貨號、玩具ID和玩具使用的禮品包裝說明select as 定單號,as 玩具號,as 包裝信息from orderdetail left join wrapper on = select as 定單號,as 玩具號,as 包裝信息from toys,orderdetail,wra pperwhere = and =-小結(jié):外連接的關(guān)鍵字outer可以省略不寫如果用三張表,即-問題:采用以上方式查岀的結(jié)

12、果好象未能滿足需求,沒有顯示所有的玩具, -加入toys表后,加上一個=后也不能列岀所有玩具。-按指定格式(詳見學習手冊P28)顯示所有購物者名,及他們所購買的訂單信息(無論購物者是否有訂單)select as購物者名,as 定單號,as 定單時間,as 定單金額from shopper left join orders on =-按指定格式(詳見學習手冊P28)顯示訂單號碼、訂單日期和每個訂單所在的季節(jié)select cOrderNo as 定單號,dOrderDate as 定單日期,datename(qq,dOrderDate) as 季節(jié)from orders-問題:如果要顯示季節(jié),是否

13、需要用到分支選擇語句-按指定格式(詳見學習手冊P28)顯示所有購物者ID、名字、電話和相應訂單的接受者select as購物者號,as 名字,as 電話,as接受者名,as 電話from shopp er,orders,rec ipientwhere = and =-小結(jié):如果表與表之間聯(lián)接沒用JOIN,則條件語句關(guān)鍵字不能用ON只能用 WHERE-按指定格式(詳見學習手冊P28)顯示所有購物者和接受者的名字、地址select as購物者名字,as 購物者地址,as 接受者名字,as 接受者地址from shopp er,orders,rec ipientwhere = and =-顯示所有玩具名及該玩具的銷售數(shù)量 s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論