久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

SQL Server數據庫創建數據庫和創建表以及條件查詢怎么操作

152次閱讀
沒有評論

共計 4251 個字符,預計需要花費 11 分鐘才能閱讀完成。

這篇文章將為大家詳細講解有關 SQL Server 數據庫創建數據庫和創建表以及條件查詢怎么操作,文章內容質量較高,因此丸趣 TV 小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

SQLServer 數據庫的學習過程是比較枯燥的,因為我們不但要熟練掌握企業管理器的操作,還要熟練掌握 SQL 語句的查詢。其實這一過程是通過做大量的實踐練習來熟練掌握的。下面丸趣 TV 丸趣 TV 小編來講解下 SQLServer 數據庫創建數據庫和創建表以及條件查詢怎么操作?

SQLServer 數據庫創建數據庫和創建表以及條件查詢怎么操作

1、創建數據庫以及創建表

createdatabaseCAPcreatetableCUSTOMERS(cidvarchar(10)primarykey,canmevarchar(10),cityvarchar(20),discntmoney)insertintoCUSTOMERSvalues(c001 , TipTop , Duluth ,10.00)insertintoCUSTOMERSvalues(c002 , Basics , Dallas ,12.00)insertintoCUSTOMERSvalues(c003 , Allied , Dallas ,8.00)insertintoCUSTOMERSvalues(c004 , ACME , Duluth ,8.00)insertintoCUSTOMERSvalues(c006 , ACME , Kyoto ,0.00)

createtablePRODUCTS(pidvarchar(10)primarykey,pnamevarchar(10),cityvarchar(20),quantityvarchar(10),pricemoney)insertintoPRODUCTSvalues(p01 , comb , Dallas , 111400 ,0.50)insertintoPRODUCTSvalues(p02 , brush , Newark , 203000 ,0.50)insertintoPRODUCTSvalues(p03 , razor , Duluth , 150600 ,1.00)insertintoPRODUCTSvalues(p04 , pen , Duluth , 125300 ,1.00)insertintoPRODUCTSvalues(p05 , pencil , Dallas , 221400 ,1.00)insertintoPRODUCTSvalues(p06 , folder , Dallas , 123100 ,2.00)insertintoPRODUCTSvalues(p07 , case , Newark , 100500 ,1.00)

createtableAGENTS(aidvarchar(4)primarykey,anamevarchar(10),cityvarchar(10),[percent]int)insertintoAGENTSvalues(a01 , Smith , NewYork ,6)insertintoAGENTSvalues(a02 , Jones , Newark ,6)insertintoAGENTSvalues(a03 , Brown , Tokyo ,7)insertintoAGENTSvalues(a04 , Gray , NewYork ,6)insertintoAGENTSvalues(a05 , Otasi , Duluth ,5)insertintoAGENTSvalues(a06 , Smith , Dallas ,5)

createtableORDERS(ordnovarchar(4),[month]varchar(3),cidvarchar(10),aidvarchar(4),pidvarchar(10),qtyint,dollarsmoney)insertintoORDERSvalues(1011 , jan , c001 , a01 , p01 ,1000,450.00)insertintoORDERSvalues(1012 , jan , c001 , a01 , p01 ,1000,450.00)insertintoORDERSvalues(1019 , feb , c001 , a02 , p02 ,400,180.00)insertintoORDERSvalues(1017 , feb , c001 , a06 , p03 ,600,540.00)insertintoORDERSvalues(1018 , feb , c001 , a03 , p04 ,600,540.00)insertintoORDERSvalues(1023 , mar , c001 , a04 , p05 ,500,450.00)insertintoORDERSvalues(1022 , mar , c001 , a05 , p06 ,400,720.00)insertintoORDERSvalues(1025 , apr , c001 , a05 , p07 ,800,720.00)insertintoORDERSvalues(1013 , jan , c002 , a03 , p03 ,1000,880.00)insertintoORDERSvalues(1026 , may , c002 , a05 , p03 ,800,704.00)insertintoORDERSvalues(1015 , jan , c003 , a03 , p05 ,1200,1104.00)insertintoORDERSvalues(1014 , jan , c003 , a03 , p05 ,1200,1104.00)insertintoORDERSvalues(1021 , feb , c004 , a06 , p01 ,1000,460.00)insertintoORDERSvalues(1016 , jan , c006 , a01 , p01 ,1000,500.00)insertintoORDERSvalues(1020 , feb , c006 , a03 , p07 ,600,600.00)insertintoORDERSvalues(1024 , mar , c006 , a06 , p01 ,800,400.00)

2、sql 語句的編寫

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

selectaid,anamefromAGENTSwherecity= NewYork

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

selectdistinctpidfromORDERS

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

createtableb(cidvarchar(10),aidvarchar(4))insertintobselectcid,aidfromORDERSgroupbycid,aid

selectdistinctaname,cnamefromAGENTS,CUSTOMERS,bwhereAGENTS.aid=b.aidandCUSTOMERS.cid=b.cid

– 上面是通過建臨時表得出結果, 假如直接寫呢(注意一定還要有 distinct)

selectdistinctcname,anamefromagents,customers,orderswhereagents.aid=orders.aidandcustomers.cid=orders.cid

– 答案:

selectdistinctCUSTOMERS.cname,AGENTS.anamefromCUSTOMERS,AGENTS,ORDERSwhereCUSTOMERS.cid=ORDERS.cidandAGENTS.aid=ORDERS.aid

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

SQLServer 數據庫創建數據庫和創建表以及條件查詢怎么操作

– 題 4: 在 orders 表的基礎上生成含有列 ordno,cid,aid,pid 和 profit 的 表 , 其中的 profit 是由 quantity 和 price 計算所得, 方法是全部銷售收入減去 60% 的銷售收入. 顧客的折扣以及代理商的酬金百分率

– 答案:此題告訴我們關鍵字加 [] 的重要性,不然一直出現“關鍵字 percent 附近有語法錯誤。”

selectordno,x.cid,x.aid,x.pid,40*(x.qty*p.price)-01*(c.discnt+a.[percent])*(x.qty*p.price)asprofitfromordersasx,customersasc,agentsasa,productsaspwherec.cid=x.cidanda.aid=x.aidandp.pid=x.pid;

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

selectdistinctc1.cname,c2.cname,c1.cityfromcustomersc1,customersc2wherec1.city=c2.cityandc1.cname

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

– 題 6:找出至少被兩個顧客訂購的產品的 pid 值

selectpid,count(cid)as 訂購產品的顧客數量 fromordersgroupbypidhavingcount(cid) =2

– 此時用此法更好一些

– 答案:

selectdistinctx1.pidfromordersx1,ordersx2wherex1.pid=x2.pidandx1.cid

– 總結:對一個表的操作大多可以通過去別名來完成,這里應該會有冗余

– 題 6: 查詢那些訂購了某個被代理商 a06 訂購過的產品的顧客的 cid 值

selectdistinctcidfromorderswherepidin(selectpidfromorderswhereaid= a06)

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

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

selectdistincty.cidfromordersx,ordersywherey.pid=x.pidandx.aid= a06

– 總結: 可以用一次查詢的就用一次查詢, 通過表取別名。

關于 SQL Server 數據庫創建數據庫和創建表以及條件查詢怎么操作就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-28發表,共計4251字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 南投县| 台安县| 台东市| 会东县| 启东市| 长岭县| 禄劝| 嘉兴市| 诸城市| 潍坊市| 万全县| 泽普县| 佛冈县| 同德县| 会东县| 车致| 华安县| 宜君县| 团风县| 双鸭山市| 奇台县| 盐边县| 安康市| 东丰县| 新郑市| 康马县| 库车县| 龙岩市| 进贤县| 江永县| 惠来县| 徐州市| 绥滨县| 东阳市| 五台县| 福州市| 女性| 福贡县| 兰考县| 岚皋县| 滕州市|