精品欧美一区二区三区在线观看 _久久久久国色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)

中文日本在线观看| 中文字幕在线日本| 国产精品白丝一区二区三区 | 欧美日韩国产一二三区| 国产日本亚洲| 精品久久久久久中文字幕大豆网| 欧美一区国产一区| 国产伦一区二区| 亚洲欧美日韩国产| 久久国产精品久久久| 久久国产精品影院| 麻豆精品久久| 在线观看网站黄不卡| 97在线免费视频观看| 欧美精品久久久久久久久久丰满| 久久一二三四| 欧美激情在线一区| 波多野结衣欲乱| 少妇性饥渴无码a区免费| 欧美激情黑白配| 国内黄色精品| 亚洲精品av在线| 亚洲精品在线网址| 成人精品国产亚洲| 亚洲色图.com| 亚洲精品一区二区毛豆| 亚洲av毛片成人精品| 国产电影一区在线| 成人黄色在线播放| 成人免费视频国产免费| 日韩视频二区| 欧美肥婆姓交大片| 成人性生活毛片| 青草国产精品| 亚洲新中文字幕| 国产毛片毛片毛片毛片毛片毛片| 国产高清亚洲| 欧美日本在线播放| 成人亚洲视频在线观看| 国产免费不卡| 午夜精品福利久久久| 日韩人妻一区二区三区蜜桃视频| 91在线品视觉盛宴免费| 久久久综合九色合综国产精品| 成人免费视频视频在| 国产av无码专区亚洲av麻豆| 美女视频网站黄色亚洲| 国产精品久久久久久久久久尿| 国产精品100| 国内自拍一区| 欧美激情在线观看视频| 黄色小说在线观看视频| 黄色精品一区| 韩国日本不卡在线| 国产精品老女人| av不卡免费看| 欧美在线视频播放| 成年人av网站| 青娱乐精品视频在线| 国产精品久久久久久久天堂| wwwwww在线观看| 久色婷婷小香蕉久久| 国产在线拍揄自揄视频不卡99| 91精品中文字幕| 国产精品性做久久久久久| av日韩中文字幕| 欧日韩在线视频| 99视频有精品| 欧美日韩亚洲在线| jizz在线观看视频| 亚洲少妇屁股交4| 无码av天堂一区二区三区| 999av小视频在线| 一本大道久久a久久综合婷婷| 一道本视频在线观看| 只有精品亚洲| 精品剧情在线观看| 在线免费观看成年人视频| 国产精品三级| 欧美超级免费视 在线| 精品无码久久久久| 久久午夜视频| 成人黄色大片在线免费观看| 亚洲AV无码一区二区三区少妇| k8久久久一区二区三区 | 国产资源在线视频| 亚洲高清视频免费观看| 蜜臀精品久久久久久蜜臀| 成人中心免费视频| 凸凹人妻人人澡人人添| 国产日韩v精品一区二区| 伊人久久大香线蕉精品| 国产极品人妖在线观看| 在线影院国内精品| 中文字幕人妻熟女人妻a片| 欧美电影完整版在线观看| 在线看欧美日韩| 国产在线视频第一页| 日日夜夜免费精品| 91视频最新| 你懂的在线网址| 亚洲精品少妇30p| 久久精品一区二| 精品中文字幕一区二区三区四区 | 黑人与亚洲人色ⅹvideos| 亚洲欧洲日韩在线| 黄色片久久久久| 国产视频一区二| 亚洲色图综合网| 久久久久久福利| 麻豆精品一区二区三区| 久久99国产精品99久久| 超鹏97在线| 欧洲av一区二区嗯嗯嗯啊| 第一页在线视频| 日韩精品一区二区三区免费观看| 亚洲精品国模| 日韩一区二区三区在线观看| 88久久精品无码一区二区毛片| 一区二区三区国产精华| 国产97色在线| 天堂在线资源库| 尤物视频一区二区| 一级黄色特级片| 久久不见久久见国语| 久久久久久国产免费| 国产手机精品视频| 国产精品网曝门| 国产又黄又猛视频| 亚洲美女15p| 午夜精品福利视频| 亚洲伦理在线观看| 亚洲精品高清在线| 亚洲一区二区中文字幕在线观看| 欧美日韩国产传媒| 日本韩国在线不卡| 午夜视频免费看| 亚洲成人中文在线| 久久久久99人妻一区二区三区| 欧美gay男男猛男无套| 国产精品1234| 国产免费av高清在线| 色又黄又爽网站www久久| 亚洲中文字幕一区| 在线精品一区| 国内外成人免费视频| 男男gaygays亚洲| 亚洲精品一区二区精华| 久久婷婷一区二区| 成人天堂资源www在线| 国产精品成人久久电影| 精品精品国产毛片在线看| 韩国精品久久久999| 色婷婷av一区二区三区之e本道| 亚洲国产乱码最新视频 | 成人在线视频区| 精品久久久av| av片免费播放| 亚洲精品你懂的| 日韩视频在线观看一区二区三区| 一区二区影视| 国产精品久久精品国产| 91九色porn在线资源| 日韩大片免费观看视频播放| 丰满少妇乱子伦精品看片| 91在线国产福利| chinese少妇国语对白| 青青草国产免费一区二区下载| 国产精品视频区| 91麻豆国产福利在线观看宅福利| 精品毛片乱码1区2区3区| 日本一级黄色录像| 麻豆精品久久久| 99亚洲国产精品| 风间由美中文字幕在线看视频国产欧美 | 久青草国产在线| 欧美久久久久久蜜桃| 极品颜值美女露脸啪啪| 不卡大黄网站免费看| 亚洲国产精品久久久久爰色欲| 成人精品视频| 97在线中文字幕| 欧美momandson| 久久精品国产亚洲一区二区| 肥臀熟女一区二区三区| 色乱码一区二区三区88| 亚洲欧美小视频| 久久综合九色综合久久久精品综合| 最近免费中文字幕中文高清百度| 忘忧草精品久久久久久久高清| 国产精品久久亚洲| 三级在线看中文字幕完整版| 北条麻妃一区二区三区中文字幕 | 亚洲免费福利视频| 一二三区中文字幕| 午夜影院在线观看欧美| 美女网站视频色| 不卡av电影在线播放| 无需播放器的av| 在线午夜精品| 中文字幕日韩一区二区三区| 精品伊人久久久| 国产日韩精品在线观看| 色黄视频在线观看| 欧美二区在线播放| 自拍视频在线网| 日韩毛片在线观看| 亚洲精品第五页| 欧美日韩成人一区| 午夜婷婷在线观看| 亚洲午夜久久久久中文字幕久| 俄罗斯毛片基地| 99久久婷婷国产综合精品电影| 天堂av2020| 日日夜夜免费精品视频| 激情深爱综合网| 午夜日韩视频| 国产高清免费在线| 经典一区二区| 久久国产精品-国产精品| 精品中文字幕一区二区三区| 国产男人精品视频| 欧美片第1页| 欧美一区二区三区精品电影| 麻豆蜜桃在线| 欧美成人亚洲成人日韩成人| 一本一道波多野毛片中文在线| 精品国产免费一区二区三区四区| 国产一区二区视频免费观看| 91黄色免费看| 亚洲天堂男人av| 精品福利在线观看| 日本少妇吞精囗交| 亚洲成人在线免费| 久久精品这里只有精品| 亚洲欧美日韩精品久久久久| 日本裸体美女视频| 中文字幕第一区二区| jizz中文字幕| 国产欧美精品一区| 亚洲图片第一页| 中文字幕第一页久久| 国产福利在线导航| 国产精品女同一区二区三区| 国产7777777| 中文字幕成人av| 日本爱爱小视频| 亚洲人成精品久久久久久 | 精品久久香蕉国产线看观看gif| 精品小视频在线观看| 亚洲国产一区在线观看| 18岁成人毛片| 亚洲精品伦理在线| 国产一级免费观看| 亚洲成av人**亚洲成av**| 日韩免费不卡视频| 欧美性xxxx极品hd欧美风情| 人人草在线观看| 欧美日韩视频专区在线播放| 一级全黄裸体免费视频| 欧美一二三四区在线| 夜夜躁日日躁狠狠久久av| 欧美日韩国产天堂| www.日日夜夜| 精品亚洲aⅴ在线观看| 国产永久免费高清在线观看| 中文字幕日韩欧美| 久热国产在线| 欧美成人合集magnet| 久久久123| 国产999精品| 日韩午夜电影免费看| 91九色露脸| 亚洲精华一区二区三区| 天堂精品一区二区三区| 欧美91精品| 国产一区二区三区精彩视频 | 国产精品久久久久久久7电影| 欧美成人免费全部网站| 91亚洲精品在线观看| 欧美电影在线观看免费| 亚洲最新在线| 亚洲国产专区| 美女一区二区三区视频| 国产成人啪免费观看软件| 毛片网站免费观看| 亚洲欧美色一区| 日韩人妻精品中文字幕| 91精品国产aⅴ一区二区| 手机在线精品视频| 中文字幕在线亚洲| 19禁羞羞电影院在线观看| 国产精品视频免费在线| 免费福利视频一区| av动漫免费观看| 国产日韩一区二区三区在线播放| www.com操| www激情久久| 久久久久亚洲AV成人| 91国偷自产一区二区三区观看 | 亚洲欧美成人精品| 亚洲欧美成人影院| 国产精品户外野外| 欧美三级自拍| 日韩不卡视频一区二区| 日本不卡在线视频| 荫蒂被男人添免费视频| 成人免费一区二区三区在线观看| 亚洲天堂视频网站| 日韩免费看网站| 欧美jizzhd69巨大| 国产成人拍精品视频午夜网站 | 永久久久久久久| 在线视频一区二区三| 天天操天天干天天| 欧美日韩福利电影| 亚洲国产天堂| 亚洲精品一卡二卡三卡四卡| 午夜在线精品| 极品白嫩丰满美女无套| 亚洲国产一区视频| 午夜精品久久久久久久91蜜桃| xvideos成人免费中文版| 免费欧美电影| 欧美日韩精品中文字幕一区二区| 亚洲成人中文| 欧美成人精品一区二区综合免费| 国产精品高清亚洲| 国产一级片免费视频| 精品视频久久久久久久| 国产激情在线播放| 国产91亚洲精品一区二区三区| 一区二区中文| 亚洲911精品成人18网站| 一区二区在线观看免费视频播放| 国产精品视频久久久久久| 中文字幕无线精品亚洲乱码一区| 欧美日韩视频网站| 日本高清不卡一区二区三| 制服诱惑一区二区| av网页在线观看| 天天综合天天做天天综合| 欧美一级免费片| 国内成人精品一区| 欧洲vs亚洲vs国产| 黄色网页免费在线观看| 91丨国产丨九色丨pron| 久草手机在线视频| 亚洲性夜色噜噜噜7777| jizz亚洲女人高潮大叫| 亚洲精品日韩精品| 久久99国产精品免费网站| 欧美一区免费观看| 欧美一区二区三区的| 日本欧美电影在线观看| 国产免费一区二区三区| 国产精品一区毛片| xxxx日本黄色| 欧美精品视频www在线观看| 乱人伦中文视频在线| 91免费在线观看网站| av成人国产| 第一次破处视频| 欧美色网站导航| 亚洲综合影视| 久久av免费一区| 日本aⅴ精品一区二区三区 | 无码人妻丰满熟妇啪啪网站| 亚洲国产欧美在线| 黄色国产在线| 91久久国产精品91久久性色| 亚洲福利电影| 级毛片内射视频| 欧美一区二区三区视频免费播放| gratisvideos另类灌满| 日本一区二区在线| 国产毛片一区二区| 一区二区三区视频免费看| 国产亚洲福利一区| 欧美h版在线观看| 国产最新免费视频| 亚洲欧洲国产日韩| 天天操天天操天天| 国产精品欧美久久久| 国产精品videosex极品| 国产激情在线免费观看| 这里只有精品视频在线观看| а√在线中文在线新版| 亚洲综合欧美日韩| 成人美女在线观看| 中文字幕av无码一区二区三区| 欧美日韩国产成人高清视频| 欧美男gay| 特黄特色免费视频| 欧洲av在线精品| 麻豆免费在线| 男同互操gay射视频在线看| 久久在线观看免费| 99久久精品国产色欲| 国产成人精品av|