精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

SQL Server實(shí)踐性練習(xí)之子查詢實(shí)例

數(shù)據(jù)庫 SQL Server
本文我們主要介紹了一些SQL Server數(shù)據(jù)庫實(shí)踐性練習(xí)之子查詢的實(shí)例,通過這些實(shí)例我們可以迅速掌握SQL Server數(shù)據(jù)庫的子查詢,希望能夠?qū)δ兴鶐椭?/div>

上次我們介紹了:SQL Server實(shí)踐性練習(xí)之創(chuàng)建庫表及條件查詢,本次我們來介紹一下SQL Server數(shù)據(jù)庫子查詢的一些實(shí)踐性練習(xí)的實(shí)例,接下來就讓我們來一起了解一下這部分內(nèi)容。

--題1:求出通過住在Duluth和Dallas的代理商訂了貨的顧客的cid值

  1. select distinct cid from orders where aid in (select aid from agents where city='Duluth' or city='Dallas' ) 

--題2:檢索有關(guān)住在Duluth或Dallas的代理商的所有信息

  1. select * from agents where city='Duluth' or city='Dallas' 

--題3:求出通過住在Duluth或Dallas的代理商訂貨的所有顧客的姓名和折扣

  1. select cname,discnt from customers where cid in (select cid from orders where aid in (select aid from agents where city='Duluth' or city='Dallas') ) 

--或者

  1. select cname,discnt from customers where cid in (select cid from orders where aid in (select aid from agents where city in ('Duluth' ,'Dallas'))) 

--題4:找出訂購了產(chǎn)品p05的顧客的名字

  1. select cname from customers where cid in (select cid from orders where pid='p05'

--答案用最直接的SQL語句來解決該查詢問題

  1. select distinct cname from customers,orders where customers.cid = orders.cid and orders.pid='p05'

--用連接也能達(dá)到相同的效果,重要的是拆解題目的意思

  1. select distinct cname from customers inner join orders on customers.cid = orders.cid and orders.pid='p05'

--那么我們來看一下三種情況的執(zhí)行效率

  1. SET ANSI_NULLS ON  
  2. GO  
  3. SET QUOTED_IDENTIFIER ON  
  4. GO  
  5. -- =============================================  
  6. -- Author:<Author,,Name> 
  7. -- Create date: <Create Date,,> 
  8. -- Description:<Description,,> 
  9. -- =============================================  
  10. alter PROCEDURE a  
  11. @pid varchar(10)  
  12. AS  
  13. BEGIN  
  14. --select cname from customers where cid in (select cid from orders where pid=@pid) 16ms  
  15. --select distinct cname from customers,orders where customers.cid = orders.cid and orders.pid=@pid; 3ms  
  16. --select distinct cname from customers inner join orders on customers.cid = orders.cid and orders.pid=@pid; 3ms  
  17. END  
  18. GO  
  19. DBCC FREEPROCCACHE --清除緩存,以免下次計(jì)算時(shí)間  
  20. declare @begin datetime  
  21. declare @End datetime  
  22. set @begin=getdate()  
  23. exec a 'p05'  
  24. set @End=getdate()  
  25. select datediff(ms,@begin,@End) as 執(zhí)行時(shí)間(毫秒) 

--由此可見,一般情況下這種題目能直接寫的就直接用連接的方法,用in的效率極低

--題5:要得到從代理商a03處訂購了產(chǎn)品p07的顧客的名字

  1. select cname from customers inner join orders on customers.cid =orders.cid and aid='a03' and pid='p07' 
  2. select cname from customers where cid in (select cid from orders where aid='a03' and pid='p07'

--題6:檢索由住在Duluth的顧客和住在New York 的代理商組成的所有訂貨記錄的ordno值

  1. select ordno from orders where cid in (select cid from customers where city='Duluth') and aid in (select aid from agents where city='New York') --6ms 

--答案:

  1. select ordno from orders x where exists (select cid,aid from customers c,agents a   
  2. where c.cid=x.cid and a.aid=x.aid and c.city='Duluth' and a.city='New York') --10ms 

--疑惑:難道in比exists執(zhí)行效率高,還是只是該題的問題。
--題7:找出傭金百分率最小的代理商的aid值
select top(1) aid from agents order by [percent] --我能想到的就是排序然后取***個(gè),但是我這樣做有問題,因?yàn)槲仪蟪鰜淼闹豢赡苡?一個(gè),而實(shí)際情況是可能有相同值的不止一個(gè)
--答案:

  1. select aid from agents where [percent]<=all(select [percent] from agents) 

----題8:找出住在Dallas或Boston的顧客擁有相同折扣的所有顧客
--select c1.cname ,c2.cname from customers c1,customers c2 where c1.discnt=c2.discnt and c1.cid<c2.cid --該方法得出的結(jié)果跟實(shí)際不符合
----我沒想出來,該怎么做?

--題9:找出與住在Dallas或Boston的顧客擁有相同折扣的所有顧客
select cid,cname from customers where discnt in (select discnt from customers where city='Dallas' or city='Boston')
--答案:
select cid,cname from customers where discnt=some(select discnt from customers where city='Dallas' or city='Boston')
--執(zhí)行效率:in 3ms,some 6ms,難道in 的執(zhí)行效率比some高?

--題10:求出所有滿足一下條件的顧客的cid值:該顧客的discnt值小于任一住在Duluth的顧客的discnt值
select cid from customers where discnt<any(select discnt from customers where city='Duluth') --這里是錯(cuò)誤的,題目中的任一應(yīng)該是對(duì)應(yīng)所有的,所以應(yīng)把a(bǔ)ny改為all
--這種題目應(yīng)謹(jǐn)慎,留意

--題11:檢索通過代理商a05訂貨的所有顧客的名字
select cname from customers where cid in (select cid from orders where aid='a05' )
--總結(jié),凡是這種題目,都可以直接做取別名,或連接或in,但是in的效率***

----題12:求出既訂購了產(chǎn)品p01又訂購了產(chǎn)品p07的顧客的cid值
--select cid from orders where pid='p01'
--select cid from orders where pid='p07'
----然后求上面兩式的交集,我沒做出來
--select distinct cid from orders where pid='p07' and exists (select cid from orders where pid='p01' )
----這樣做雖 然答案正確,但是換位置之后就有錯(cuò)誤了
--遇到這種問題的思路是什么樣的?

--正確答案:

  1. select distinct cid from orders x  
  2. where pid='p01' and exists (select * from orders where cid=x.cid and pid='p07'

--為什么這里一定要取別名
--取別名除了有方便的好處外,有什么情況是必須用到的嗎?

  1. select cid from orders where pid='p01' intersect select cid from orders where pid='p07'  

--注:兩個(gè)的交集,可以用intersect關(guān)鍵字

--3.4.12 檢索沒有通過代理商a05訂貨的所有顧客的名字
select cid,cname from customers where cid not in (select cid from orders where aid='a05')
--這個(gè)時(shí)候in 不能用exists 代替
----答案:

  1. select distinct c.cid ,c.cname from customers c   
  2. where not exists (select * from orders x where c.cid=x.cid and x.cid='a05'

----實(shí)際上答案是錯(cuò)的,但是中文解釋好像又能夠解釋通,為什么呢?

--3.4.15檢索訂購了產(chǎn)品p01的顧客所在的city

  1. select cname,city from customers where cid in (select cid from orders where pid='p01')  
  2. select distinct cname,city from customers inner join orders on customers.cid=orders.cid and orders.pid='p01' 

--3.5.1 建立一個(gè)包含了顧客所在的或者代理商所在的或者兩者皆在的城市的名單

  1. select distinct city from agents union (select city from customers) 

--3.5.2 求出通過住在New York的所有代理商訂了貨的顧客的cid值

  1. select distinct cid from orders where aid in (select aid from agents where city='New York' ) 

--3.5.3 求出住在New York 或Duluth 并訂購了價(jià)格超過一美元的所有產(chǎn)品的代理商的aid值

  1. select aid from agents where aid in (select aid from orders where dollars/qty>1) and city='New York' or city='Duluth' 

--3.5.4 找出訂購了產(chǎn)品p01和價(jià)格超過1美元的所有產(chǎn)品的代理商的aid值
select aid from orders where dollars/qty>1 intersect select aid from orders where pid='p01' --并且或交集的意思在SQL里面如何表達(dá)?
select aid from orders where pid in (select pid from products where price>1 or pid='p01' )
--這顯然也是錯(cuò)誤的,不是要它滿足某個(gè)條件就行,而是要同時(shí)包含這兩者。
--此題沒想出來
--可見,求交集的時(shí)候intersect的重要性。

--答案:

  1. select y.aid from orders y where y.pid='p01' and not exists (select p.pid from products p where p.price>1.0000 and   
  2. not exists (select * from orders x where x.pid=p.pid and x.aid=y.aid)) 

--3.5.5 找出具有以下性質(zhì)的顧客的cid 值:如果顧客c006訂購了某種產(chǎn)品,那要檢索的顧客也訂購了該產(chǎn)品

  1. select cname,cid from customers where cid in (select cid from orders where pid in (select pid from orders where cid='c006')) 

--跟答案不符,那么該怎么寫呢?問題還是應(yīng)該為包含,而不是在其中滿足某個(gè)條件
--答案:

  1. select cid from customers c where not exists (select z.pid from orders z   
  2. where z.cid='c006' and not exists (select * from orders y where y.pid=z.pid and y.cid=c.cid)  

--3.5.6 找出被所有住在Duluth的顧客訂購的產(chǎn)品的pid值

  1. select distinct pid from orders where cid in (select cid from customers where city='Duluth' )  

--同理:肯定是錯(cuò)的,對(duì)待這種要包含的問題該如何寫sql語句
--答案:

  1. select pid from products p where not exists (select c.cid from customers c where c.city='Duluth' 
  2. and not exists (select * from orders x where x.pid=p.pid and x.cid=c.cid)  

關(guān)于SQL Server實(shí)踐性練習(xí)之子查詢的知識(shí)就介紹到這里了,希望本次的介紹能夠?qū)δ兴鶐椭?/p>

SQL Server實(shí)踐性練習(xí)系列的文章:

SQL Server實(shí)踐性練習(xí)之高級(jí)SQL查詢

SQL Server實(shí)踐性練習(xí)之創(chuàng)建庫表及條件查詢

【編輯推薦】

  1. SQL Server 2008數(shù)據(jù)庫學(xué)習(xí)筆記
  2. SQL Server 2005數(shù)據(jù)庫nolock使用詳解
  3. SQL Server如何啟用Ad Hoc Distributed Queries?
  4. SQL Server 2008用存儲(chǔ)過程實(shí)現(xiàn)插入更新數(shù)據(jù)的實(shí)例
  5. 含有GROUP BY子句的查詢中如何顯示COUNT()為0的結(jié)果

 

責(zé)任編輯:趙鵬 來源: 博客園
相關(guān)推薦

2011-08-12 09:30:04

SQL Server數(shù)高級(jí)SQL查詢

2011-08-12 09:14:08

SQL Server創(chuàng)建數(shù)據(jù)庫創(chuàng)建表

2021-06-30 20:49:15

SQL子查詢數(shù)據(jù)

2010-10-21 14:27:35

SQL Server時(shí)

2010-07-21 09:50:12

SQL Server子

2011-08-24 11:22:38

SQL ServerUNION代替OR

2010-09-13 17:11:42

sql server

2011-08-18 09:19:19

SQL Server的SQL查詢優(yōu)化

2010-09-14 10:16:57

sql server

2010-09-03 10:40:30

SQL刪除

2010-09-02 11:47:43

SQL刪除

2011-03-29 12:42:25

SQL Server 高效性

2023-12-16 13:14:00

SQL子查詢技術(shù)

2011-04-15 11:43:24

SQL Server

2010-07-26 09:06:09

SQL Server游

2010-07-14 10:03:40

SQL Server

2010-07-12 15:07:05

SQL Server實(shí)

2009-04-16 15:34:35

SQL Server

2012-08-29 09:29:28

SQL Server

2010-09-09 16:10:57

sql server2循環(huán)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

欧美日韩国产一区在线| 久久精品国产一区二区| 日韩av一区二区在线| 春日野结衣av| freemovies性欧美| 国产自产视频一区二区三区| 欧美精品18videos性欧美| 国产精品无码在线| 成人黄色视屏网站| 亚洲欧美成aⅴ人在线观看| 国产乱码精品一区二区三区日韩精品 | 免费日韩成人| 午夜精品一区二区三区免费视频| 日本一区视频在线| 国产aⅴ爽av久久久久成人| 国产亚洲午夜| 久久国产精品影视| www.av欧美| 成人av激情人伦小说| 狠狠操狠狠色综合网| 手机成人av在线| 日本大臀精品| 国产91在线看| 国产精品精品国产| 久久夜靖品2区| 91超碰成人| 国产亚洲视频在线| jlzzjizz在线播放观看| 精品视频在线播放一区二区三区| 91久久久免费一区二区| 国产 日韩 欧美在线| 免费观看在线午夜影视| 久久久精品蜜桃| 国产精品二区在线观看| 国产乱码久久久久| 一本一本久久| 久久久久久久久久久网站| 九九热视频在线免费观看| 精品国产一区二区三区久久久樱花 | www.天天干.com| 美国三级日本三级久久99| 日本久久久a级免费| 日本三级欧美三级| 国内在线观看一区二区三区| 久久综合电影一区| 婷婷丁香综合网| 不卡中文字幕| 中文字幕av一区| 国产又大又粗又爽的毛片| 亚洲aaa级| 日韩精品一二三四区| aaaa黄色片| 日本妇女一区| 国产婷婷色综合av蜜臀av| 欧美双性人妖o0| 国产在线播放精品| 亚洲精品一区二区三区四区高清| 一级黄色大片免费看| 精品999日本久久久影院| 欧美久久久久久久久| 天天综合网久久| 电影91久久久| 日韩一区二区麻豆国产| 久久精品久久99| 日韩在线观看中文字幕| 精品国产电影一区二区| 喷水视频在线观看| 天堂俺去俺来也www久久婷婷| 亚洲精品中文字幕女同| 91成人破解版| 日韩情爱电影在线观看| 久久亚洲精品毛片| 欧美日韩人妻精品一区二区三区| 激情欧美丁香| 日本一区二区在线免费播放| 欧美另类高清videos的特点| 精品一区二区成人精品| eeuss一区二区三区| 天堂av在线免费观看| 久久日韩粉嫩一区二区三区 | 亚洲成在人线免费观看| 最近2019年好看中文字幕视频| 999精品视频在线观看播放| 欧美一区综合| 91福利视频网| 在线视频你懂得| 国产精品一区三区| 欧美亚洲免费高清在线观看 | 亚洲国产乱码最新视频| 日本久久久精品视频| 成人一级视频| 精品精品国产高清a毛片牛牛 | 啪一啪鲁一鲁2019在线视频| 亚洲图片小说视频| 国产成人在线观看免费网站| 欧美午夜免费| 成人看片免费| 欧美日韩国产一区二区| 亚洲一区二区在线视频观看| 精品伊人久久久| 亚洲欧美日韩网| 欧美精品一区二区蜜桃| 久久久999| 不卡一区二区三区四区五区| 福利视频在线看| 一区二区三区四区蜜桃| www.色就是色| 精品三级av| 蜜月aⅴ免费一区二区三区| 国产精品一区二区三区四| 激情综合色综合久久综合| 久久精品国产精品国产精品污 | 国内成人自拍| 久久久人成影片一区二区三区| 欧美一级黄视频| 99久久久久久| 国产av第一区| 成人免费黄色| 亚洲男人7777| 国产一卡二卡在线| 国产麻豆成人精品| 亚洲精品一品区二品区三品区 | jizz在线免费观看| 欧美色另类天堂2015| 国产一级二级av| 久久在线视频| 国产精品久久9| 午夜在线观看视频18| 亚洲精品国产一区二区精华液 | 哺乳挤奶一区二区三区免费看| 中文字幕欧美日韩va免费视频| 日本系列第一页| 国产精品一区二区x88av| 亚洲色图自拍| 成人国产精品入口免费视频| 亚洲欧美中文字幕| 二区视频在线观看| 99国产麻豆精品| 日韩一级片免费视频| 中文字幕一区二区三区四区久久| 久久精品99久久久久久久久| 中文字幕av片| 国产精品无码永久免费888| 国产黄色特级片| 免费成人网www| 欧美孕妇孕交黑巨大网站| 图片区 小说区 区 亚洲五月| 亚洲一区二区偷拍精品| 成人三级做爰av| 国产综合视频| 国产日本一区二区三区| av影院在线免费观看| 亚洲第一网站免费视频| 91九色丨porny丨肉丝| 91在线视频在线| 凹凸国产熟女精品视频| 啪啪激情综合网| 456国产精品| 香蕉国产在线视频| 欧美性猛xxx| 自拍偷拍视频亚洲| 奇米综合一区二区三区精品视频| 亚洲精品中字| 国产精品久久久久久久久久久久久久久 | 国产精品三级网站| 欧美成年黄网站色视频| 欧美一卡二卡三卡四卡| 黄色小视频在线免费看| 99视频在线精品| 国产精品无码专区av在线播放| 欧美色就是色| 亚洲自拍av在线| 91黄页在线观看| 亚洲欧美日韩第一区| 中文字幕精品无码亚| 亚洲色图欧美激情| 午夜不卡久久精品无码免费| 麻豆9191精品国产| 午夜午夜精品一区二区三区文| www.久久久久爱免| 国语自产在线不卡| 成人在线播放视频| 日韩午夜三级在线| 国产69精品久久久久久久久久| 国产视频视频一区| 三级网站免费看| 国产欧美日韩一区二区三区在线| 欧美精彩一区二区三区| 91欧美精品| 久久久久亚洲精品成人网小说| 黄色片在线播放| 欧美一级欧美三级| 天堂网免费视频| 亚洲精品中文字幕在线观看| 国产精品探花一区二区在线观看| 久久福利视频一区二区| 亚洲不卡中文字幕无码| 欧美电影免费播放| 国产日韩三区| 国产精品毛片aⅴ一区二区三区| 久久久久久久久久久91| 麻豆传媒网站在线观看| 九九热线视频只有这里最精品| 久久精品成人一区二区三区| 婷婷在线免费观看| 色综合色综合色综合| 91精品国产高清一区二区三蜜臀| 2017欧美狠狠色| 亚洲三级在线视频| 制服诱惑一区二区| 一级一片免费播放| 激情五月综合| 久久国产精品 国产精品| 九九热这里有精品| 欧美主播福利视频| 啦啦啦中文在线观看日本| 精品国产一区av| 九色视频在线播放| 亚洲成人a级网| 96亚洲精品久久久蜜桃| 欧美性猛交xxxx黑人猛交| 久久久一区二区三区四区| 中文字幕在线不卡一区 | 国产人妖一区二区| 欧美在线看片a免费观看| 黄色片视频网站| 一区二区高清在线| 青花影视在线观看免费高清| 中文字幕欧美三区| 精品人妻无码一区二区三区换脸| 99视频热这里只有精品免费| 亚洲婷婷在线观看| 大尺度一区二区| 丰满人妻一区二区三区53视频| 久久精品国产精品亚洲综合| 亚洲色图38p| 日韩在线观看一区二区| 成人免费观看毛片| 国产精品嫩草99av在线| 青青草精品视频在线| 亚洲欧美亚洲| 免费看日本黄色| 中文精品久久| 麻豆传媒网站在线观看| 欧美激情综合色综合啪啪| 400部精品国偷自产在线观看| 久久中文字幕av| 在线免费观看成人| 国产精品久久久久无码av| 亚洲欧美日韩国产成人综合一二三区| 国产va免费精品观看精品视频| 蜜桃成人在线| 欧美最新另类人妖| 亚洲三区在线| 在线电影一区二区| 99在线观看视频免费| 精品av久久久久电影| 少妇高潮毛片色欲ava片| 一本色道88久久加勒比精品| 日韩精品视频一区二区在线观看| 羞羞答答国产精品www一本| 青青青在线播放| 另类的小说在线视频另类成人小视频在线| 五月婷婷狠狠操| 国产一区二三区| 美女搡bbb又爽又猛又黄www| 91在线精品一区二区三区| 女女互磨互喷水高潮les呻吟| 中文字幕第一区二区| 精品国产大片大片大片| 亚洲青青青在线视频| 国产在线高清精品| 伊人久久综合网另类网站| 97自拍视频| 欧美国产极品| 午夜一区二区三区| 欧美日韩国内| 成人综合视频在线| 日本在线播放一区二区三区| 手机在线视频一区| 成人动漫在线一区| 熟女少妇内射日韩亚洲| 亚洲天堂精品视频| 日本中文字幕免费| 欧美午夜一区二区三区| 亚洲精品国产av| 亚洲色图国产精品| 在线欧美三级| 热久久这里只有精品| 国产成人视屏| 欧美大香线蕉线伊人久久| 91综合久久| 日日摸日日碰夜夜爽无码| 欧美aaa在线| 日本三级日本三级日本三级极| 国产色婷婷亚洲99精品小说| 欧美激情一区二区视频| 91福利在线免费观看| 国内精品偷拍视频| 国产午夜一区二区| av资源网在线播放| 成人免费网站在线| 九九在线高清精品视频| 国产制服91一区二区三区制服| 亚洲主播在线| 中文字幕18页| 成人免费在线视频| 日韩免费av网站| 亚洲精品国产精品国产自| 男人的天堂在线视频免费观看| 欧美一级大胆视频| 成人av地址| 日本一道在线观看| 理论电影国产精品| 欧洲美熟女乱又伦| 欧美视频在线观看免费| 免费观看国产精品| 精品久久久av| 国产亚洲欧美日韩精品一区二区三区| 国产一区二区三区高清| 欧美精品啪啪| www.桃色.com| 亚洲欧洲国产日韩| 怡红院成永久免费人全部视频| 精品亚洲va在线va天堂资源站| 男人天堂亚洲天堂 | 榴莲视频成人app| 亚洲精品影院| 丝袜国产日韩另类美女| 国产精品无码一区二区三区免费| 亚洲制服欧美中文字幕中文字幕| 一级黄色片视频| 日韩中文字幕国产精品| 91亚洲视频| 亚洲午夜精品一区二区| 蜜臀精品久久久久久蜜臀| 少妇av片在线观看| 91福利国产精品| 国产裸舞福利在线视频合集| 欧美做受高潮1| 亚洲警察之高压线| 国产欧美在线一区| 91在线国产福利| 男人日女人网站| 亚洲日本中文字幕| 日韩漫画puputoon| 婷婷久久青草热一区二区| 日韩影院免费视频| 国产午夜福利一区| 欧美日韩免费观看一区二区三区| 成年人视频在线看| 国产日韩亚洲欧美| 羞羞答答成人影院www| 亚洲第一区第二区第三区| 亚洲欧洲综合另类| 精品国产av一区二区三区| 欧美大片免费看| 国产一区在线电影| www.国产区| 国产精品美女久久久久av爽李琼| 亚洲视频久久久| 久久视频在线播放| 北条麻妃在线一区二区免费播放| 黄页网站在线观看视频| 久久女同互慰一区二区三区| 波多野结衣视频在线看| 日韩中文在线中文网在线观看| 国产乱码精品一区二区三区亚洲人| 日本a在线天堂| 久久中文字幕电影| 丰满熟女人妻一区二区三| 久久久国产影院| 大桥未久女教师av一区二区| 欧美成人xxxxx| 国产精品无人区| 风流老熟女一区二区三区| 欧美在线激情网| 99tv成人| 99re久久精品国产| 欧美日韩一区二区三区高清| 永久免费网站在线| 欧美18视频| 国产精品1区2区3区| 97久久久久久久| 久久久国产精品x99av| 日本成人7777| 肉色超薄丝袜脚交| 色噜噜狠狠一区二区三区果冻| 黄网站视频在线观看| 激情小说综合区| 狠狠久久亚洲欧美| 天堂网一区二区三区| www高清在线视频日韩欧美| 久久久精品国产**网站| 亚洲成人av免费看| 亚洲国产一区二区视频| 亚洲图片88| 久久久久高清| 国产一区二区视频在线| 高潮毛片又色又爽免费|