日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
SQLServer實踐性練習(xí)之創(chuàng)建庫表及條件查詢

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

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

 
 
 
  1. create database CAP
  2. create table CUSTOMERS
  3. (
  4. cid varchar(10) primary key,
  5. canme varchar(10),
  6. city varchar(20),
  7. discnt money
  8. )
  9. insert into CUSTOMERS values ('c001','TipTop','Duluth',10.00)
  10. insert into CUSTOMERS values ('c002','Basics','Dallas',12.00)
  11. insert into CUSTOMERS values ('c003','Allied','Dallas',8.00)
  12. insert into CUSTOMERS values ('c004','ACME','Duluth',8.00)
  13. 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. insert into ORDERS values('1011','jan','c001','a01','p01',1000,450.00)
  12. insert into ORDERS values('1012','jan','c001','a01','p01',1000,450.00)
  13. insert into ORDERS values('1019','feb','c001','a02','p02',400,180.00)
  14. insert into ORDERS values('1017','feb','c001','a06','p03',600,540.00)
  15. insert into ORDERS values('1018','feb','c001','a03','p04',600,540.00)
  16. insert into ORDERS values('1023','mar','c001','a04','p05',500,450.00)
  17. insert into ORDERS values('1022','mar','c001','a05','p06',400,720.00)
  18. insert into ORDERS values('1025','apr','c001','a05','p07',800,720.00)
  19. insert into ORDERS values('1013','jan','c002','a03','p03',1000,880.00)
  20. insert into ORDERS values('1026','may','c002','a05','p03',800,704.00)
  21. insert into ORDERS values('1015','jan','c003','a03','p05',1200,1104.00)
  22. insert into ORDERS values('1014','jan','c003','a03','p05',1200,1104.00)
  23. insert into ORDERS values('1021','feb','c004','a06','p01',1000,460.00)
  24. insert into ORDERS values('1016','jan','c006','a01','p01',1000,500.00)
  25. insert into ORDERS values('1020','feb','c006','a03','p07',600,600.00)
  26. 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)出過錯)

 
 
 
  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

--上面是通過建臨時表得出結(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計算所得,方法是全部銷售收入減去60%的銷售收入.顧客的折扣以及代理商的酬金百分率
--答案:此題告訴我們關(guān)鍵字加[]的重要性,不然一直出現(xiàn)“關(guān)鍵字 'percent' 附近有語法錯誤?!?/p>

 
 
 
  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
  2. select c1.cid,c2.cid from customers c1,customers c2
  3. where c1.city=c2.city and c1.cid

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

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

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

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

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

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

--這時用in感覺渾然天成,因為這里要去的是“某一個”被代理商a06訂購過的產(chǎn)品

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

 
 
 
  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ù)庫實踐性練習(xí)之創(chuàng)建數(shù)據(jù)庫和創(chuàng)建表以及條件查詢方面的實例就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@吧。

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

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

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


當(dāng)前題目:SQLServer實踐性練習(xí)之創(chuàng)建庫表及條件查詢
路徑分享:http://www.dlmjj.cn/article/dhpsejd.html