數(shù)據(jù)庫中的基本查詢語句_第1頁
數(shù)據(jù)庫中的基本查詢語句_第2頁
數(shù)據(jù)庫中的基本查詢語句_第3頁
數(shù)據(jù)庫中的基本查詢語句_第4頁
數(shù)據(jù)庫中的基本查詢語句_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數(shù)據(jù)查詢總結1工作任務一:查詢基本信息打開數(shù)據(jù)庫語句格式:use 數(shù)據(jù)庫名功能 :切換“數(shù)據(jù)庫名”為當前數(shù)據(jù)庫說明:SQL Server 2005中的Transact SQL 語句操作的為當前的數(shù)據(jù)庫例:use DODB -打開數(shù)據(jù)庫 go2基本查詢語句格式:select * From 數(shù)據(jù)庫名功能:從指定的數(shù)據(jù)表中查詢出所有的數(shù)據(jù)其中:(1)“*”表示要查詢表中的所有字段 (2)“數(shù)據(jù)表名”指定要查詢的數(shù)據(jù)表例:select * From 員工表 -查詢員工表的所有信息 go 33. 注釋()格式:注釋文本 說明:可以將注釋插入單獨行中、嵌套在Transact SQL命令行的結尾或者嵌套在T

2、ransact SQL語句中,服務器不對注釋進行計算。Go 格式:go 功能:向Transact SQL實用工具發(fā)出一批Transact SQL語句結束的信號。4工作任務二:選擇查詢信息選擇查詢select語句格式:select 查詢字段列表 From 數(shù)據(jù)表名功能:從“數(shù)據(jù)表名”所指數(shù)據(jù)表中查出“查詢字段列表”所列的字段值其中:查詢字段列表需要查出的字段依次排列在此,字段間用英文半角逗號隔開 例:select 員工工號,員工姓名,所在部 -查詢員工部門信息 from 員工表 go 5修改查詢結果中的列標題格式1:select 字段1 列標題1.字段2 列標題2,F(xiàn)rom 數(shù)據(jù)表名格式2:se

3、lect 字段1 as 列標題1.字段2 as 列標題2,F(xiàn)rom 數(shù)據(jù)表名格式3:select列標題1 字段1,列標題2 字段2,F(xiàn)rom 數(shù)據(jù)表名功能:從“數(shù)據(jù)表名”所指數(shù)據(jù)表中查出所列字段的值,并改變列標題為相應的標題說明:(1)上面三種格式中的任何一種都可以 (2)上面格式中的列標題字符串可以用單引號引起來,也可以不引6以下三種例子的結果是一樣的1. Select 員工工號 工號,所在部門 部門 From 員工表 go2. Select 員工工號 as 工號,所在部門 as 部門 From 員工表 go3.Select 工號 = 員工工號, 部門 =所在部門 From 員工表 go7查

4、詢結果中增加字符串列格式:select 字段列表,字符串,字段列表 From 數(shù)據(jù)表名功能:在查詢結果中增加“字符串”常量列作用:“字符串列”相當于提示符,能準確查詢要知道的信息8工作任務三:根據(jù)條件查詢信息1 用比較運算符查詢格式:select 字段列表名From 數(shù)據(jù)表名Where 條件表達式功能 :從數(shù)據(jù)表中查出滿足“條件表達式”即“條件表達式”的值為true的記錄信息(數(shù)據(jù))說明:(1)條件表達式最簡為字段名 關系運算符 表達式 (2)條件表達式可以為:條件表達式1 邏輯運算符 條件表達式2 (3)算術運算符(+,-,*,/,%) (4)關系運算符(=,=,=)9選擇查詢中的模糊查詢使

5、用Like查詢格式:select 字段名列表From 數(shù)據(jù)表名Where 條件表達式功能:從數(shù)據(jù)表中查出滿足“條件表達式”即“條件表達式”的值為true 的記錄信息說明:(1)條件表達式最簡式為:字段名 like(not like)字符串表達式 (2)條件表達式可以為:條件表達式1 邏輯運算符 條件表達式2 (3)一般為模糊查詢,在字符串表達式中可以使用通配符 (4)通配符如下:% 匹配包括0個或多個字符的字符串匹配任何一個字符匹配任何在范圍內的單個字符,例如:m-p匹配任何不在范圍的單個字符,例如:m-p、mnop通配符和字符串要括在單引號中10選擇查詢中的精確查詢1.用betweenand

6、組成條件查詢信息格式:select 字段列表名 From 數(shù)據(jù)表名Where 字段名 not between 數(shù)據(jù)1 and 數(shù)據(jù)2功能:從數(shù)據(jù)表中查出字段在或不在數(shù)據(jù)表1和數(shù)據(jù) 2之間的記錄信息(數(shù)據(jù))說明:(1)包括兩個邊界,即數(shù)據(jù)1=字段=數(shù)據(jù)2(2)數(shù)據(jù)的數(shù)據(jù)表類型可以是數(shù)字、文字或是日期(3)此條件與數(shù)據(jù)1=字段and 字段=數(shù)據(jù)2相同 112. 用in組成查詢條件格式:select 字段列表名 From 數(shù)據(jù)表名Where 字段名 not in (表達式1,表達式2,)功能:從數(shù)據(jù)表中查出字段值在或不在表達式1,表達式2,中的記錄(數(shù)據(jù))說明:此條件與表達式1 字段 or 字段 表

7、達式2,或not(表達式1 字段 or 字段 表達式2,)相同,但用此更簡捷查詢沒有賦值的記錄123.查詢沒有賦值的記錄格式:select 字段名列表From 數(shù)據(jù)表名Where 字段名 is notnull功能:從數(shù)據(jù)表中查出字段中沒有或已賦值的記錄信息(數(shù)據(jù))說明:null是指未賦值,與0和空字符串不同13工作任務四:查詢并排序信息排序查詢格式:select 字段名列表From 數(shù)據(jù)表名Order by 字段1asc|desc,字段2asc|desc功能:從數(shù)據(jù)表中查出字段1,字段2按遞增或遞減值排序后的記錄信息(數(shù)據(jù))說明:(1)asc(默認):遞增;desc:遞減(2)如果按多個字段排

8、序,則第一個是主字段,當?shù)谝粋€字段的值相同時,按第二個字段進行排序,以此類推。(3)空值被視為最低的可能值14查詢出N條記錄格式:select(n)percentwith ties字段名列表From 數(shù)據(jù)表名order by字段功能 :從數(shù)據(jù)表中分別顯示最前N條記錄或顯示N%條記錄信息(數(shù)據(jù))說明:(1)N既可以是常數(shù),也可以是變量 (2)如果使用order by子句,可以用 with ties把最后一條記錄值相同的其他記錄列出來15工作任務五:查詢并統(tǒng)計信息查詢并統(tǒng)計格式:select 字段名列表From 數(shù)據(jù)表名Compute 聚合函數(shù)(字段)功能:從數(shù)據(jù)表中查出信息(數(shù)據(jù)),并給出由聚合

9、函數(shù)對字段進行的統(tǒng)計說明:(1)如果出現(xiàn)where子句,則compute子句用在where子句之后(2)compute后聚合函數(shù)的值作為附加新行出現(xiàn)在檢索結果中(3)聚合函數(shù)中的字段必須出瑞在“字段名列表”中(4)compute 后可以包括多個聚合函數(shù)(5)聚合函數(shù)忽略空值(6)聚合函數(shù)如:AVG , COUNT, SUM16查詢并分組統(tǒng)計格式: select 字段名列表 From 數(shù)據(jù)表名Order by 字段1Compute 聚合函數(shù)(字段2)by 字段1功能 :從數(shù)據(jù)表中查出按compute by后“字段1”進行分組,每組所有信息和每組聚合函數(shù)的合計信息。說明(1)必須先由order b

10、y子句對分組字段進行排序 (2)查詢結果按order by后字段分成多組17工作任務六:分組查詢信息分組查詢格式:select 分組字段名,聚合函數(shù)(字段名)as 別名From 數(shù)據(jù)表名Group by 分組字段名功能:從數(shù)據(jù)表中查出根據(jù)分組字段分組后,每組由聚合函統(tǒng)計的結果說明:()需要分類或分組查詢,必須包括group by子句()如果出現(xiàn)where子句,group by子句用在where子句之后()與工作任務五不同之處是只出現(xiàn)一個結果()group by子句經常用于select子句中包含聚合函數(shù)的情況(5)select子句中出現(xiàn)的列,只能是group by子句中的列或者包含在聚合函數(shù)中1

11、8指定組成聚合的搜索條件格式:select 分組字段名,聚合函數(shù)(字段名)From 數(shù)據(jù)表名Group by 分組字段名Having 條件表達式功能:從數(shù)據(jù)表中根據(jù)分組字段進行分組,每組由聚合函數(shù)統(tǒng)計的結果,查出滿足條件表達式結果說明:()having通常在group by子句使用()having子句是對結果進行過濾,where可以用聚合函數(shù);而是對原始記錄過濾(3)having子句中的列只能是group by子句中或者聚合函數(shù)中的列。()having子句中可以包括聚合函數(shù)19工作任務七:.用子查詢查詢信息子查詢包含子查詢的語句通常采用以下格式中的一種:Where 表達式not in (子查詢

12、)Where not EXISTS (子查詢)Where 表達式關系運算符ANY|SOMEALL Where (子查詢)功能:從數(shù)據(jù)表中查出滿足根據(jù)子查詢組合的條件的結果說明:()EXISTS關鍵字引入一個子查詢時,就相當于進行一次存在測試()許多包含子查詢的Transact-SQL語句都可以改用多表查詢(3)all 與比較運算符和子查詢一起使用。如果子查詢檢索的所有值都滿足比較運算,則條件返回TRUE;如果并非所有值都滿足比較運算或子查詢向外部語句返回行,則返回FALSE(4)SOME|ANY與比較運算符和子查詢一起使用。如果子查詢檢索的任何值都滿足比較運算,則條件為TRUE;如果子查詢內沒

13、有值滿足比較運算或子查詢未向外部語句回行,則返回FALSE(5)子查詢可以用在select,update,insert和delee中20工作任務八:多表查詢信息多表查詢格式:select* from 數(shù)據(jù)表,數(shù)據(jù)表,where 表間字段相等條件and表間字段相等條件and 其他條件功能:從數(shù)據(jù)表,數(shù)據(jù)表多個表中查詢各表間相關的信息說明:()表間字段相等條件的形式為:表名.字段名表名.字段名()通常對于N個表格的檢索,要有個連接條件()表間字段相等條件一般是兩表建立關系的主鍵和外鍵在笛卡爾積的結果中,解決問題的方法如下不相關的記錄連接成一行解決方法:為了避免笛卡爾積,必須在where子句中給出表

14、格的連接條件(通常對于個表格的檢索,要有一個連接條件)出現(xiàn)了相同的列解決方法:不用“*”,而直接寫要查找的列名(消除多余字段)21基本多表查詢格式:select 字段列表 from 數(shù)據(jù)表別名,數(shù)據(jù)表別名, where 條件功能:從數(shù)據(jù)表,數(shù)據(jù)表多個表中查詢出信息22用join多表查詢格式:select 字段列表From 數(shù)據(jù)表別名Join 數(shù)據(jù)表別名On 表名.字段名表名.字段名where條件功能:從數(shù)據(jù)表,數(shù)據(jù)表多個表中查詢出各表之間相關的信息說明:(1)表間字段相等條件一般是兩表建立關系 的鍵和外鍵 (2)需要其他條件放在where后23總結: 必需的子句只有selectt和from子句

15、,其他的句子都是可選的。 Select子句:指定由查詢返回的列。From子句:用于指定引用的列所在的表或視圖,如果對象不止一個,那么它們之間必須用逗號分開Where子句:指定用于限制返回的行的搜索條件。如果select語句沒有WHERE子句 ,則DBMS假設目標表中的所有行都滿足搜索條件GROUP BY子句:指定用來放置輸出行的組,并且如果SELECT子句中包含聚合函數(shù),則計算每組的匯總值HAVING子句:指定組或聚合的搜索條件。HAVING通常與GROUP BY子句一起使用。如果不使用GROUP BY子句,那么HAVING的行為與WHERE 子句一樣ORDER BY子句:指定結果集的排序,ASC關鍵字表示升序排列結果,DESC關鍵字表示降序排列結果,如果沒有指定任何一個關鍵字,那么ASC說是默認的關鍵字。如果沒有ORDER BY子句,則DBMS將根據(jù)輸入表中的數(shù)據(jù)的存放位置來顯示數(shù)據(jù)。24SELECT查詢語句各子句的順序用作用(1)SELECT(從指定表中取出指定列的數(shù)據(jù))(2)FROM(指

溫馨提示

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

評論

0/150

提交評論