




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
SQLSERVER2000表的查詢SQL語言的種類
SQL(StructuredQueryLanguage)是一種在關(guān)系數(shù)據(jù)庫中定義和操作數(shù)據(jù)的標(biāo)準(zhǔn)語言.SQL語言通常分為4類:
查詢語言(select)操縱語言(insert,update,delete)定義語言(create,alter,drop)控制語言(commit,rollback)SQL語言提供的SELECT語句的一般格式如下:SELECT[ALL|DISTINCT]<目標(biāo)列表達(dá)式>[,<目標(biāo)列表達(dá)式>][,…]FROM<表名或視圖名>[,<表名或視圖名>][,…][WHERE<條件表達(dá)式>][GROUPBY<列名1>[HAVING<條件表達(dá)式>]][ORDERBY]<列名2>[ASC|DESC]];說明:
SELECT語句的含義是,根據(jù)WHERE子句指定的條件,從FROM子句后面的基本表或視圖中找出滿足條件的記錄,再按照SELECT子句指定的目標(biāo)列表達(dá)式,選出這些記錄相應(yīng)的列形成結(jié)果集返回。其中,SELECT子句和FROM子句是必選的,而WHERE子句、GROUPBY子句、HAVING子句以及ORDERBY子句都是可選的。select語句的基本格式是由select子句,from子句和where子句組成的查詢塊.整個(gè)select語句的含義是:根據(jù)where子句的篩選條件表達(dá)式,從from子句指定的表中找出滿足條件的記錄,再按select子句中指定的字段次序,選出記錄中的字段值構(gòu)造一個(gè)顯示結(jié)果表.如果有g(shù)roup子句,則將結(jié)果按<分組表達(dá)式>的值進(jìn)行分組,該值相等的記錄為一個(gè)組.如果group子句帶having短語,則只有滿足指定條件的組才會(huì)輸出.如果有order子句,則顯示結(jié)果表還要按<字段>值的升序(asc)或降序(desc)進(jìn)行排序.一、選擇行和列--選擇和投影運(yùn)算的實(shí)現(xiàn)下面以人事工資管理系統(tǒng)的員工表employee和部門表dept為例介紹SELECT語句的使用方法。Employee(emp_id,ename,job,mgr_id,workdate,sal,comm,dept_id)
員工號(hào)姓名職位主管參加工作時(shí)間月薪崗位津貼部門號(hào)
Dept(dept_id,dname,tel)
部門號(hào),部門名稱,電話用下面語句創(chuàng)建表結(jié)構(gòu):
CREATETABLEemployee(emp_idCHAR(4)PRIMARYKEY,enameVARCHAR(20),jobVARCHAR(9),mgr_idCHAR(4),workdatedatetime,salSMALLINT,commSMALLINT,dept_idCHAR(2)NOTNULL)CREATETABLEdept(dept_idCHAR(2)PRIMARYKEY,dnameVARCHAR(12),telVARCHAR(20))1、選擇運(yùn)算的實(shí)現(xiàn)查詢一個(gè)表的所有行
在SELECT語句中只要沒有WHERE子句,查詢結(jié)果就包含了所有行。【例1】查詢表employee的所有員工的員工號(hào)和姓名。查詢滿足條件的某些行查詢滿足條件的某些行,可以通過WHERE子句來實(shí)現(xiàn)?!纠?】查詢?cè)滦匠^1800的員工姓名和月薪?!纠?】查詢員工號(hào)為1001的員工姓名及部門號(hào)。
1.SELECTemp_id,enameFROMemployee2.SELECTename,salFROMemployeeWHEREsal>1800;3.SELECTename,dept_idFROMemployeeWHEREemp_id=’1001’2、投影運(yùn)算的實(shí)現(xiàn)查詢表的全部列【例4】查詢部門表中部門號(hào)為11的全部內(nèi)容。在SQL語言中,可以用星號(hào)“*”代表所有列名,列的顯示順序與基本表中列的順序一致。查詢表的部分列
【例5】查詢?nèi)w員工的員工號(hào),姓名和參加工作時(shí)間。查詢經(jīng)過計(jì)算的值SELECT子句的<目標(biāo)列表達(dá)式>不僅可以是基本表的屬性,也可以是表達(dá)式,包括算術(shù)表達(dá)式、字符串常量和函數(shù)等【例6】查詢?nèi)w員工的姓名及年薪。查詢可以通過指定別名來改變查詢結(jié)果的列標(biāo)題,這樣也可以使結(jié)果更清晰。
SELECTenameAS姓名,sal*12AS年薪
FROMemployee注意:當(dāng)自定義的列標(biāo)題中有空格時(shí)必須用單引號(hào)。
SELECT'姓名'=ename,'年薪'=sal*12
FROMemployee
4.SELECTdept_id,dname,telFROMdeptWHEREdept_id=’11’5.SELECTemp_id,ename,workdateFROMemployee6.
SELECTename,sal*12FROMemployee二、SQL的運(yùn)算符SQL語言使用的運(yùn)算符包括算術(shù)運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符等。
算術(shù)運(yùn)算符算術(shù)運(yùn)算符有4種:+、-、*、/
比較運(yùn)算符基本比較運(yùn)算符共9種:=、>、<、<=、>=、!=或<>、!>(不大于)、!<(不小于)特殊比較運(yùn)算符有4類:BETWEEN…AND…、IN、LIKE和ISNULL運(yùn)算符BETWEEN…AND…運(yùn)算符BETWEEN…AND…是用于確定記錄的范圍,即某屬性值在指定的范圍之內(nèi)(包括邊界值)的記錄,其中BETWEEN后面是下限,AND后面是上限。【例21】查詢?cè)滦皆?000到1500之間的員工姓名及月薪。查詢結(jié)果包括那些月薪等于1000和月薪等于1500的記錄。運(yùn)算符IN
運(yùn)算符IN是用于查找某屬性值包含在指定集合內(nèi)的記錄,IN后面跟的是指定集合。
【例22】查找部門號(hào)是1或2的員工姓名及部門號(hào)。運(yùn)算符LIKE(模糊查詢)
運(yùn)算符LIKE可用來進(jìn)行字符串的匹配,LIKE后面跟的是匹配模式。匹配模式可以是一個(gè)包含通配符“%”(百分號(hào))和“_”(下劃線)的字符串?!?”代表任意長度(長度可以為0)的字符串。
“_”代表任意單個(gè)字符。“[]”表示指定范圍。
【例23】查詢所有姓張員工的姓名。
【例24】查找所有2011年參加工作的員工姓名及參加工作時(shí)間。
【例25】查找姓名第2個(gè)字為“小”的員工姓名?!纠?6】查找姓為王或周并且單名的員工情況。
運(yùn)算符IS[not]NULL
運(yùn)算符ISNULL用來測(cè)試某個(gè)屬性值是否為空。【例27】可能有這樣的情況:新進(jìn)員工暫時(shí)沒有崗位津貼,等試用期滿后再領(lǐng)崗位津貼。查詢沒有崗位津貼的員工姓名?!纠?1】
SELECTename,salFROMemployeeWHEREsalBETWEEN1000and1500【例22】
SELECTename,dept_idFROMemployeeWHEREdept_idIN('11','21')
【例23】
SELECTenameFROMemployeeWHEREenameLIKE‘張%’【例24】SELECTename,workdateFROMemployeeWHEREworkdateLIKE‘%1990%’【例25】SELECTenameFROMemployeeWHEREenameLIKE'_小%'【例26】SELECT*FROMemployeeWHEREenameLIKE'[王周]%'【例27】SELECTenameFROMemployeeWHEREcommISNULL邏輯運(yùn)算符SQL語言的邏輯運(yùn)算符有3種:NOT、AND、OR?!纠?8】查詢?cè)滦匠^1500的部門主管的姓名及月薪?!纠?9】查詢?cè)滦匠^1500的員工和所有部門主管的姓名及月薪?!纠?0】查找部門號(hào)不屬于1和2的員工姓名及部門號(hào)。
【例28】
SELECTename,salFROMemployeeWHEREsal>1500ANDjob=‘部門主管’【例29】
SELECTename,salFROMemployeeWHEREsal>1500ORjob=‘部門主管’【例30】
SELECTename,dept_idFROMemployeeWHEREdept_idNOTIN(‘1’,’2’)三、對(duì)查詢結(jié)果排序SQL語言中用ORDERBY子句實(shí)現(xiàn)對(duì)查詢結(jié)果的排序,可以根據(jù)包含的一列或者多列的表達(dá)式進(jìn)行ASC(升序)或DESC(降序)的排列,默認(rèn)值是ASC。ORDERBY子句指定的排序列可以不只一個(gè)。【例31】查詢所有員工的姓名及月薪,結(jié)果按月薪的降序排列。【例32】查詢所有員工的姓名、部門號(hào)及月薪,結(jié)果按部門號(hào)升序排列,同一部門按月薪降序排列。說明:上例中dept_id稱為主排序關(guān)鍵字,sal成為次排序關(guān)鍵字。注意:
(1)ORDERBY子句不改變基本表中行或列的順序,只改變查詢顯示的順序。
(2)ORDERBY子句指定排序的列必須出現(xiàn)在SELECT子句的列表達(dá)式中。
(3)排序是查詢語句的最后一步工作,所以O(shè)RDERBY子句一般放在查詢語句的最后?;颈碇胁幌嗤男校?jīng)過對(duì)某些指定列進(jìn)行投影運(yùn)算后,可能會(huì)變成完全相同的行,顯示結(jié)果不直觀,這時(shí)需要用DISTINCT選項(xiàng)消除重復(fù)的行?!纠?3】查詢表employee中的所有職位。
注意:在一個(gè)SELECT語句中DISTINCT只能出現(xiàn)一次,并且DISTINCT必須在所有列名之前,否則會(huì)發(fā)生語法錯(cuò)誤。與DISTINCT選項(xiàng)含義相反的是A
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 護(hù)士禮儀培訓(xùn)課件圖片
- 初中地理歷史培訓(xùn)課件
- 腫瘤模型設(shè)計(jì)實(shí)驗(yàn)研究
- 化工材質(zhì)培訓(xùn)課件模板
- 購物中心策劃培訓(xùn)課件
- 哮喘的急性發(fā)作的護(hù)理
- 2025康復(fù)科護(hù)理工作計(jì)劃
- 房地產(chǎn)項(xiàng)目開發(fā)成本管理與控制策略研究
- 洗臉洗頭培訓(xùn)課件
- 影視制作行業(yè)市場調(diào)研報(bào)告
- 國開《學(xué)前兒童語言教育活動(dòng)指導(dǎo)》形考1-4試題及答案
- 海康2023綜合安防工程師認(rèn)證試題答案HCA
- 濁度儀使用說明書
- GB/T 14404-2011剪板機(jī)精度
- GB/T 14294-1993組合式空調(diào)機(jī)組
- GA 1517-2018金銀珠寶營業(yè)場所安全防范要求
- 提高痰留取成功率PDCA課件
- 組合導(dǎo)航與融合導(dǎo)航解析課件
- 伊金霍洛旗事業(yè)編招聘考試《行測(cè)》歷年真題匯總及答案解析精選V
- 深基坑支護(hù)工程驗(yàn)收表
- 顱腦CT影像課件
評(píng)論
0/150
提交評(píng)論