日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

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

坦白說,SQL Server數(shù)據(jù)庫的學(xué)習(xí)過程是比較枯燥的,因?yàn)槲覀儾坏炀氄莆掌髽I(yè)管理器的操作,還要熟練掌握SQL語句的查詢。其實(shí)這一過程是通過做大量的實(shí)踐練習(xí)來熟練掌握的。本文開始我們就介紹幾篇關(guān)于SQL Server數(shù)據(jù)庫實(shí)踐性練習(xí)的文章,希望能夠?qū)δ兴鶐椭?。本篇我們先介紹一些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. 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:檢索所有滿足以下條件的顧客-代理商姓名對(duì)(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

--可以看出,答案非常簡(jiǎn)單

--題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:求出住在同一城市的顧客對(duì)。

 
 
 
  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)鍵點(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

--總結(jié):對(duì)一個(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)品

--同理,對(duì)一個(gè)表里面的這種操作都可以通過取別名(且這種方式更簡(jiǎ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ù)庫實(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í)之高級(jí)SQL查詢


當(dāng)前文章:SQLServer實(shí)踐性練習(xí)之創(chuàng)建庫表及條件查詢
地址分享:http://m.5511xx.com/article/dhpsejd.html