第10章 T-SQL查詢基礎(chǔ)_第1頁
第10章 T-SQL查詢基礎(chǔ)_第2頁
第10章 T-SQL查詢基礎(chǔ)_第3頁
第10章 T-SQL查詢基礎(chǔ)_第4頁
第10章 T-SQL查詢基礎(chǔ)_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第十章第十章 T-SQL T-SQL 查詢基礎(chǔ)查詢基礎(chǔ)本章內(nèi)容nSelect語句的功能n使用select語句查詢數(shù)據(jù)n使用Top、 Distinct關(guān)鍵字n使用計算列n修改查詢顯示的列名(列標題)n使用Where子句n使用LIKE子句進行模糊查詢n使用Order by給數(shù)據(jù)排序Select語句的功能n檢索數(shù)據(jù)n查詢SQL Server系統(tǒng)信息n給變量賦值n使用select語句查詢數(shù)據(jù)n使用“ * ”選取所有列n指定列n使用where子句選擇行Select 語句的部分語法n:選取哪些列n:從哪些表選取數(shù)據(jù)n:搜索條件SELECT ALL | DISTINCT FROM ,n WHERE 使用“

2、* ”選取所有列n例:Select * from employeesn顯示employee的所有行、所有列n可能會造成漫長的查詢,盡量避免使用這種語句指定列1DavolioNancySales Representative2FullerAndrewVice President, Sales3LeverlingJanetSales Representative4PeacockMargaretSales Representative5BuchananStevenSales Manager6SuyamaMichaelSales Representative7KingRobertSales Repre

3、sentative8CallahanLauraInside Sales Coordinator9DodsworthAnneSales RepresentativeUSE northwindSELECT employeeid, lastname, firstname, titleFROM employeesGO使用where子句選擇行5BuchananStevenSales ManagerUSE northwindSELECT employeeid, lastname, firstname, titleFROM employeesWHERE employeeid = 5GOSelect 語句的其

4、他功能(演示)n查詢系統(tǒng)信息nSelect versionn給變量賦值ndeclare a int select a=3 select a使用Top關(guān)鍵字n返回表中前面的一部分數(shù)據(jù);n語法: Select TOP integer | TOP integer PERCENTColumn_name ,n FROM table_namen示例nTOP 120 /*返回120行*/nTOP 15 PERCENT /*返回15%的數(shù)據(jù)行*/使用Distinct關(guān)鍵字n從返回的結(jié)果集中刪除重復(fù)的行n語法:SELECT ALL | DISTINCT TOP n PERCENT .n注意:distinct 和

5、 top關(guān)鍵字出現(xiàn)的先后順序課堂演示nTOPnSelect country from publishersnSelect top 3 country from publishersnSelect top 3 percent from publishersnDISTINCTnSelect country from publishersnSelect distinct country from publishersnSelect distinct top 2 country from publishers使用計算列n在查詢時使用計算列n在創(chuàng)建表時使用計算列在查詢時使用計算列(一)n查詢Pubs數(shù)據(jù)

6、庫中titiles表中的書號、書名、單價,銷售數(shù)量(ytd_sales)Select title_id, title, price, ytd_sales, From titles在查詢時使用計算列(二)n查詢Pubs數(shù)據(jù)庫中titiles表中的書號、書名、單價,銷售數(shù)量以及這批書的總銷售額。Select title_id, title, price, ytd_sales, price * ytd_salesFrom titles在創(chuàng)建表時使用計算列(一)n語法:CREATE TABLE database_name. owner .| owner. table_name( | column_na

7、me AS computed_column_expression | := CONSTRAINT constraint_name | PRIMARY KEY | UNIQUE ,.n ) 在創(chuàng)建表時使用計算列(二)n舉例:CREATE TABLE titles (title_id varchar (6) ,title varchar (80) type char (12),price money , ytd_sales int, ytd_income AS price * ytd_sales ) 修改查詢顯示的列名(列標題)n對列名進行操作有3種方式nCol_name col_aliasnCo

8、l_alias=col_namenCol_name AS col_alias課堂練習(xí)n針對pubs數(shù)據(jù)庫的titles表n查詢時使用計算列,顯示折后價格n使用計算列創(chuàng)建一個類似的表n使用三種修改列名方法中的任意一種,修改查詢顯示的列名使用Where子句n在Where字句中使用不同的搜索條件過濾數(shù)據(jù)n比較操作符n字符串比較n邏輯操作符n使用BETWEEN關(guān)鍵字n使用IN關(guān)鍵字n未知的值(NULL)比較操作符n比較操作符n=, n , !=, !, !=, , !這類比較操作符,他們會使查詢速度減慢。使用邏輯操作符n使用邏輯操作符連接多個表達式n邏輯操作符:nANDnORnNOT使用邏輯操作符舉例

9、n查詢pubs數(shù)據(jù)庫中titles表價格小于20美元且種類為business的所有圖書。Select title_id, title, type, priceFrom titlesWhere price = 15 And price = 20使用IN關(guān)鍵字n使用IN關(guān)鍵字簡化對某一范圍的數(shù)據(jù)的檢索。n舉例:在pubs數(shù)據(jù)庫的authors表中搜索所有居住在KS, CA, MI或IN州的作家。Select au_id, au_lname, au_fnameFrom authorsWhere state IN (CA,KS,MI,IN)IN語句的替代方式n如果不使用IN語句,可以用別的方式代替:S

10、elect au_id, au_lname, au_fnameFrom authorsWhere state = CA OR state = KS OR state = MI OR state = IN范圍查找n對某一個范圍的數(shù)據(jù)的查找,我們可以n把 以及And, OR結(jié)合起來用;n使用betweenand語句n使用in語句n注意:盡量避免使用NOT運算符,那樣會減慢查詢速度nNot betweenandnNot in未知的值、空值NULLn什么是NULL值?n在輸入數(shù)據(jù)的時候,如果沒有指定某一個字段的值,且此字段沒有定義缺省的值,則稱此字段含有空值(NULL)n如何判斷某個字段是否為空:co

11、l_name = NULLcol_name IS NULL關(guān)于NULLn檢查某一列是否為空,使用IS NULL,IS NOT NULL。決不能使用=NULL或!= NULL。n空值參與運算結(jié)果都是空值。一定要注意這一點,否則會帶來不可預(yù)計的結(jié)果。課堂練習(xí)n搜索pubs數(shù)據(jù)庫中的titles表,返回書的價格打了8折后仍大于12美元的書的代號、種類、書的原價。n查詢pubs數(shù)據(jù)庫中titles表價格在10-20美元之間且種類為business或popular_comp的所有圖書。n查詢titles表中沒有價格的圖書。使用LIKE子句進行模糊查詢n通配符的使用n轉(zhuǎn)意字符的使用通配符的使用n%:任意多

12、個任意字符n_:單個任意字符n:方括號內(nèi)列出的任一個字符n:任意一個沒在方括號內(nèi)列出的字符LIKE子句與通配符(一)n查詢所有以D開頭的作家的名字Use pubsGoSelect au_lname + , + au_fnameFrom authorsWhere au_fname LIKE D%goLIKE子句與通配符(二)n老板要來查一個人的資料,只記得這個人的編號中的某幾位,第一部分前兩位為72,第二部分第一位為5(注:authors表中電話號碼的格式是#-#-#)use pubsgoSelect * from authorsWhere au_id LIKE 72_-5%LIKE子句與通配符

13、(三)n老板又來查資料了!只記得這個人的編號中的某幾位,第一部分前兩位為72,第二部分第一位不是0就是8,第三部分最后兩位是91(注:authors表中電話號碼的格式是#-#-#)use pubsgoSelect * from authorsWhere au_id LIKE 72_-08_-_91通配符使用小結(jié)(一)通配符使用小結(jié)(二)n一定要把LIKE運算符與=運算符區(qū)別開來!n同配符只有在LIKE子句中才有意義。Use pubsGoSelect au_lname + , + au_fnameFrom authorsWhere au_fname = D%go轉(zhuǎn)義字符的使用n萬一要查詢的字符串

14、中包含了通配符作為字符串的一部分,如何處理?n假設(shè)一個表test的某一列col有以下4個值:nxyzn%xyznx_yznxyz轉(zhuǎn)義字符舉例n查找以“X_”開頭的字符串Select col From testWhere col LIKE X_%ESCAPE 課堂練習(xí)n通配符練習(xí):書上148頁試一試。n轉(zhuǎn)義符練習(xí):使用演示腳本創(chuàng)建表、插入數(shù)據(jù),查找以%開頭的數(shù)據(jù)。使用Order by給數(shù)據(jù)排序n語法: ORDER BY order_by_expression ASC | DESC ,.n norder_by_expression:指定要排序的列。nASC:升序(默認)nDESC:降序使用Order by排序舉例(一)n對pubs數(shù)據(jù)庫中stores表中的倉庫名進行排序。Use pubsGoSelect stor_nameFrom storesOrder by stor_namego使用Order by排序舉例(二)n使用列的位置指定要排序的列。Use pubsGoSelect stor_id,stor_name,stor_addressFrom storesOrder by 2 DESCgo使用Order by排序舉例(三)n對計算列進行排序Use pubsGoSelect title_id,price * ytd_sales AS profit From titlesOr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論