成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

數(shù)據(jù)庫 SQL Server
本文主要介紹了SQL Server數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)庫和創(chuàng)建表以及條件查詢的操作,并給出了實(shí)例加以說明,希望能夠?qū)δ兴鶐椭?/div>

坦白說,SQL Server數(shù)據(jù)庫的學(xué)習(xí)過程是比較枯燥的,因?yàn)槲覀儾坏炀氄莆掌髽I(yè)管理器的操作,還要熟練掌握SQL語句的查詢。其實(shí)這一過程是通過做大量的實(shí)踐練習(xí)來熟練掌握的。本文開始我們就介紹幾篇關(guān)于SQL Server數(shù)據(jù)庫實(shí)踐性練習(xí)的文章,希望能夠?qū)δ兴鶐椭1酒覀兿冉榻B一些SQL Server數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫創(chuàng)建表以及條件查詢方面的操作實(shí)例,接下來就讓我們一起來了解一下這部分內(nèi)容吧。

1、創(chuàng)建數(shù)據(jù)庫以及創(chuàng)建表

  1. create database CAP  
  2.  
  3. create table CUSTOMERS  
  4. (  
  5. cid varchar(10) primary key,  
  6. canme varchar(10),  
  7. city varchar(20),  
  8. discnt money  
  9. )  
  10.  
  11. insert into CUSTOMERS values ('c001','TipTop','Duluth',10.00)  
  12. insert into CUSTOMERS values ('c002','Basics','Dallas',12.00)  
  13. insert into CUSTOMERS values ('c003','Allied','Dallas',8.00)  
  14. insert into CUSTOMERS values ('c004','ACME','Duluth',8.00)  
  15. insert into CUSTOMERS values ('c006','ACME','Kyoto',0.00) 
  1. create table PRODUCTS  
  2. (  
  3. pid varchar(10)primary key,  
  4. pname varchar(10),  
  5. city varchar(20),  
  6. quantity varchar(10),  
  7. price money  
  8. )  
  9. insert into PRODUCTS values ('p01','comb','Dallas','111400',0.50)  
  10. insert into PRODUCTS values ('p02','brush','Newark','203000',0.50)  
  11. insert into PRODUCTS values ('p03','razor','Duluth','150600',1.00)  
  12. insert into PRODUCTS values ('p04','pen','Duluth','125300',1.00)  
  13. insert into PRODUCTS values ('p05','pencil','Dallas','221400',1.00)  
  14. insert into PRODUCTS values ('p06','folder','Dallas','123100',2.00)  
  15. insert into PRODUCTS values ('p07','case','Newark','100500',1.00) 
  1. create table AGENTS  
  2. (  
  3. aid varchar(4) primary key,  
  4. aname varchar(10),  
  5. city varchar(10),  
  6. [percent] int   
  7. )  
  8. insert into AGENTS values('a01','Smith','New York',6)  
  9. insert into AGENTS values('a02','Jones','Newark',6)  
  10. insert into AGENTS values('a03','Brown','Tokyo',7)  
  11. insert into AGENTS values('a04','Gray','New York',6)  
  12. insert into AGENTS values('a05','Otasi','Duluth',5)  
  13. insert into AGENTS values('a06','Smith','Dallas',5) 
  1. create table ORDERS  
  2. (  
  3. ordno varchar(4),  
  4. [month] varchar(3),  
  5. cid varchar(10),  
  6. aid varchar(4),  
  7. pid varchar(10),  
  8. qty int,  
  9. dollars money  
  10. )  
  11.  
  12. insert into ORDERS values('1011','jan','c001','a01','p01',1000,450.00)  
  13. insert into ORDERS values('1012','jan','c001','a01','p01',1000,450.00)  
  14. insert into ORDERS values('1019','feb','c001','a02','p02',400,180.00)  
  15. insert into ORDERS values('1017','feb','c001','a06','p03',600,540.00)  
  16. insert into ORDERS values('1018','feb','c001','a03','p04',600,540.00)  
  17. insert into ORDERS values('1023','mar','c001','a04','p05',500,450.00)  
  18. insert into ORDERS values('1022','mar','c001','a05','p06',400,720.00)  
  19. insert into ORDERS values('1025','apr','c001','a05','p07',800,720.00)  
  20. insert into ORDERS values('1013','jan','c002','a03','p03',1000,880.00)  
  21. insert into ORDERS values('1026','may','c002','a05','p03',800,704.00)  
  22. insert into ORDERS values('1015','jan','c003','a03','p05',1200,1104.00)  
  23. insert into ORDERS values('1014','jan','c003','a03','p05',1200,1104.00)  
  24. insert into ORDERS values('1021','feb','c004','a06','p01',1000,460.00)  
  25. insert into ORDERS values('1016','jan','c006','a01','p01',1000,500.00)  
  26. insert into ORDERS values('1020','feb','c006','a03','p07',600,600.00)  
  27. insert into ORDERS values('1024','mar','c006','a06','p01',800,400.00) 

2、sql語句的編寫

--題1:找出住在紐約的代理商的aid值和名字

  1. select aid ,aname from AGENTS where city='New York' 

--題2:檢索訂貨記錄中所有零件的pid值

  1. select distinct pid from ORDERS 

--題3:檢索所有滿足以下條件的顧客-代理商姓名對(cname,aname),其中的cname 通過aname訂了貨(曾經(jīng)出過錯(cuò))

  1. create table b  
  2. (cid varchar(10),  
  3. aid varchar(4)  
  4. )  
  5. insert into b  
  6. select cid,aid  
  7. from ORDERS group by cid,aid 
  1. select distinct aname,cname from AGENTS,CUSTOMERS,b where AGENTS.aid=b.aid and CUSTOMERS.cid=b.cid 

--上面是通過建臨時(shí)表得出結(jié)果,如果直接寫呢?(注意一定還要有distinct)

  1. select distinct cname,aname from agents,customers,orders where agents.aid=orders.aid and customers.cid=orders.cid 

--答案:

  1. select distinct CUSTOMERS.cname,AGENTS.aname from CUSTOMERS,AGENTS,ORDERS where CUSTOMERS.cid=ORDERS.cid and AGENTS.aid=ORDERS.aid 

--可以看出,答案非常簡單

--題4:在orders表的基礎(chǔ)上生成含有列ordno,cid,aid,pid和profit的"表",其中的profit是由quantity和price計(jì)算所得,方法是全部銷售收入減去60%的銷售收入.顧客的折扣以及代理商的酬金百分率
--答案:此題告訴我們關(guān)鍵字加[]的重要性,不然一直出現(xiàn)“關(guān)鍵字 'percent' 附近有語法錯(cuò)誤。”

  1. select ordno,x.cid,x.aid,x.pid,40*(x.qty*p.price)-01*(c.discnt+a.[percent])*(x.qty*p.price) as profit  
  2. from orders as x,customers as c,agents as a,products as p   
  3. where c.cid=x.cid and a.aid=x.aid and p.pid=x.pid; 

--題5:求出住在同一城市的顧客對。

  1. select distinct c1.cname,c2.cname,c1.city from customers c1, customers c2 where c1.city=c2.city and c1.cname<c2.cname 
  2. select c1.cid,c2.cid from customers c1,customers c2  
  3. where c1.city=c2.city and c1.cid<c2.cid 

--此題的關(guān)鍵點(diǎn)即為可以給一個(gè)表取兩個(gè)別名.如果題目要求在一個(gè)表中的同一列取出匹配項(xiàng)的話都可以用這種方法。

--題6:找出至少被兩個(gè)顧客訂購的產(chǎn)品的pid值
select pid,count(cid) as 訂購產(chǎn)品的顧客數(shù)量 from orders group by pid having count(cid)>=2
--此時(shí)用此法更好一些
--答案:

  1. select distinct x1.pid from orders x1, orders x2  
  2. where x1.pid=x2.pid and x1.cid<x2.cid 

--總結(jié):對一個(gè)表的操作大多可以通過去別名來完成,這里應(yīng)該會(huì)有冗余

--題6:查詢那些訂購了某個(gè)被代理商a06訂購過的產(chǎn)品的顧客的cid值

  1. select distinct cid from orders where pid in (select pid from orders where aid='a06'

--這時(shí)用in感覺渾然天成,因?yàn)檫@里要去的是“某一個(gè)”被代理商a06訂購過的產(chǎn)品

--同理,對一個(gè)表里面的這種操作都可以通過取別名(且這種方式更簡單)

  1. select distinct y.cid from orders x,orders y  
  2. where y.pid=x.pid and x.aid='a06' 

--總結(jié):可以用一次查詢的就用一次查詢,通過表取別名。

關(guān)于SQL Server數(shù)據(jù)庫實(shí)踐性練習(xí)之創(chuàng)建數(shù)據(jù)庫和創(chuàng)建表以及條件查詢方面的實(shí)例就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@吧。

SQL Server實(shí)踐性練習(xí)的相關(guān)文章:

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

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

【編輯推薦】

  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:29:32

SQL Server子查詢

2011-08-12 09:30:04

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

2010-11-11 09:20:46

SQL Server創(chuàng)

2010-11-09 15:18:37

SQL Server多

2010-10-13 09:30:45

SQL Server

2010-09-25 16:42:45

sql語句

2010-10-21 14:54:32

查詢SQL Serve

2010-10-21 14:43:46

SQL Server查

2010-10-21 11:10:57

SQL Server查

2010-11-09 13:28:13

SQL SERVER查

2021-01-19 05:39:17

SQLServer變量

2010-07-01 14:46:10

SQL Server臨

2021-03-18 08:20:19

SQLServer數(shù)據(jù)庫SQL

2010-11-10 14:47:11

SQL Server創(chuàng)

2010-11-11 14:36:11

SQL Server系

2011-08-19 15:13:36

SQL Server MDX查詢

2010-09-14 16:36:34

SQL SERVER查

2011-07-19 15:18:46

存儲(chǔ)過程sql語句

2010-07-06 16:45:39

SQL Server創(chuàng)

2009-03-18 10:56:29

生命周期全局臨時(shí)表SQL Server
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 91精品一区 | 精品美女| 国产极品粉嫩美女呻吟在线看人 | 99精品在线观看 | 日韩国产精品一区二区三区 | 一区二区三区四区在线视频 | 91国产在线视频在线 | 亚洲精品国产第一综合99久久 | 五月婷婷 六月丁香 | 欧美日韩中文在线 | 日韩视频成人 | 中文字幕亚洲专区 | 激情福利视频 | 精品一区二区三区四区 | 欧美成人自拍 | 日韩免费视频一区二区 | www.夜夜骑 | 日一区二区| 久久久国产一区二区三区 | 亚洲一区国产精品 | 亚洲91精品 | 午夜免费 | 欧美一级在线免费观看 | 日韩精品久久久 | 91久久精品一区二区二区 | 亚洲精品中文在线观看 | 久久av一区二区三区 | 夜夜夜操 | 不卡一区 | 成人在线免费电影 | 欧美一区二区三区久久精品 | 最新日韩精品 | 黄网站在线播放 | 午夜在线 | 亚洲欧洲一区 | 国产伦精品一区二区三区四区视频 | 欧美视频第三页 | 午夜视频一区 | 国产精品亚洲成在人线 | 日日射影院| 中文字幕在线第一页 |