sql查詢藝術(shù)第05講-檢索記錄_第1頁
sql查詢藝術(shù)第05講-檢索記錄_第2頁
sql查詢藝術(shù)第05講-檢索記錄_第3頁
sql查詢藝術(shù)第05講-檢索記錄_第4頁
sql查詢藝術(shù)第05講-檢索記錄_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、惠普-濟(jì)寧國際軟件人才及產(chǎn)業(yè)基地 SQL查詢藝術(shù)目錄第5講:檢索記錄第一節(jié):從表中檢索所有行和列第二節(jié):從表中檢索部分行第三節(jié):查找滿足多個(gè)條件的行第四節(jié):從表中檢索部分列第五節(jié):為列取有意義的名稱第六節(jié):在WHERE子句中引用取別名的列第七節(jié):連接列值第八節(jié):限制返回的行數(shù)第九節(jié):查找空值第十節(jié):將空值轉(zhuǎn)換為實(shí)際值第5講:SQL語言概述第一節(jié):從表中檢索所有行和列問題查看表中的所有數(shù)據(jù)。解決方案對表使用SELECT語句和特殊字符“*”:SELECT * FROM EMP;討論第5講:SQL語言概述第一節(jié):從表中檢索所有行和列練習(xí)1、查詢部門表中的所有行。第5講:SQL語言概述第二節(jié):從表中檢

2、索部分行問題從表中查看滿足特定條件的行。解決方案使用WHERE子句指定要保留哪些行。例如,要查看部門編號為10的所有員工:SELECT * FROM EMP WHERE DEPTNO = 10;討論第5講:SQL語言概述第二節(jié):從表中檢索部分行練習(xí)1、查詢部門編號不等于20的所有員工;2、查詢部門編號小于20的所有員工;3、查詢部門編號大于20的所有員工;4、查詢部門編號小于等于20的所有員工;5、查詢部門編號大于等于20的所有員工;第5講:SQL語言概述第三節(jié):查找滿足多個(gè)條件的行問題要返回滿足多個(gè)條件的行。解決方案使用WHERE子句以及OR和AND子句。例如,要查找部門編號為10的所有員工

3、,或者所有得到提成的員工,或者部門編號為20同時(shí)工資不超過2000美元的員工:SELECT * FROM EMPWHERE DEPTNO = 10 OR COMM IS NOT NULL OR SAL = 2000 AND DEPTNO = 20;討論第5講:SQL語言概述第三節(jié):查找滿足多個(gè)條件的行練習(xí)1、查詢薪水大于2000美元,并且獎金不為NULL的所有員工;2、查詢部門編號小于30,或者薪水小于2000美元的所有員工;3、查詢姓名長度大于4的所有員工;第5講:SQL語言概述第四節(jié):從表中檢索部分列問題要查看一個(gè)表中特定列的值,而不是所有列的值。解決方案指定感興趣的列。例如,如果只查看員

4、工的名字、部門編號和工資:SELECT ENAME, DEPTNO, SAL FROM EMP;討論第5講:SQL語言概述第四節(jié):從表中檢索部分列練習(xí)1、查詢員工的編號、姓名、職位和薪水信息;2、查詢員工編號大于20的員工的編號、姓名;第5講:SQL語言概述第五節(jié):為列取有意義的名稱問題改變查詢所返回的列名,使它們更具有可讀性,更容易理解。例如,查詢每個(gè)員工的工資和獎金:SELECT SAL, COMM FROM EMP;什么是SAL?什么是COMM?結(jié)果的標(biāo)簽應(yīng)該更明確些。解決方案要改變查詢結(jié)果列名,可以按這種格式使用AS關(guān)鍵字:原名 AS 新名。一些數(shù)據(jù)庫不需要使用AS,但所有的數(shù)據(jù)庫都接

5、受這種用法:SELECT SAL AS Salary, COMM AS Commission FROM EMP;討論第5講:SQL語言概述第五節(jié):為列取有意義的名稱練習(xí)1、查詢員工的編號、姓名和薪水信息,并使用“編號”、“姓名”和“薪水”分別表示EMPNO、ENAME和SAL的列名;第5講:SQL語言概述第六節(jié):在WHERE子句中引用取別名的列問題前面已經(jīng)使用別名功能,為查詢結(jié)果提供了更有意義的列名,而且也使用WHERE子句將一些數(shù)據(jù)排除在外了,然而,我們還想再WHERE子句中引用別名:SELECT SAL AS Salary, COMM AS Commission FROM EMP WHER

6、E Salary 5000;解決方案將查詢作為內(nèi)聯(lián)視圖就可以引用其別名的列:SELECT * FROM (SELECT SAL AS Salary, COMM AS Commission FROM EMP) X WHERE Salary 5000;討論第5講:SQL語言概述第六節(jié):在WHERE子句中引用取別名的列練習(xí)1、查詢員工的編號、姓名、職位和部門編號,要求使用“員工編號”、“員工姓名”、“員工職位”和“部門編號”分別描述,并且要求在WHERE子句中使用“部門編號”篩選部門編號小于30的所有員工;第5講:SQL語言概述第七節(jié):連接列值問題將多列值作為一列返回。解決方案使用“+”運(yùn)算進(jìn)行連接

7、操作:SELECT ENAME + WORKS AS A + JOB AS MSGFROM EMPWHERE DEPTNO = 10;討論第5講:SQL語言概述第七節(jié):連接列值練習(xí)1、查詢EMP表中EMPNO、ENAME、SAL和COMM的總和,并將EMPNO取名為“編號”,ENAME取名為“姓名”,SAL和COMM的和取別名為“工資”;第5講:SQL語言概述第八節(jié):限制返回的行數(shù)問題限制查詢中返回的行數(shù)。這里不關(guān)心順序,返回任何n行都行。解決方案使用TOP關(guān)鍵字來限制返回的行數(shù):SELECT TOP 5 * FROM EMP;討論第5講:SQL語言概述第八節(jié):限制返回的行數(shù)練習(xí)1、查詢部門編

8、號大于10的員工信息,并限制返回3行;2、查詢部門編號大于10并且小于50的員工信息,并限制返回5行;第5講:SQL語言概述第九節(jié):查找空值問題要查找某列值為空的所有行。解決方案要確定是否為空,必須使用IS NULL:SELECT * FROM EMP WHERE COMM IS NULL;討論第5講:SQL語言概述第九節(jié):查找空值練習(xí)1、查詢獎金為NULL的所有員工;2、查詢獎金不為NULL的所有員工;3、查詢薪水大于2000,并且獎金不為NULL的所有員工;第5講:SQL語言概述第十節(jié):將空值轉(zhuǎn)換為實(shí)際值問題在一些行中包含空值,需要使用非空值來代替這些空值。解決方案使用COALESCE函數(shù)用實(shí)際的值來替換空值:SELECT COALESCE(COMM, 0) FROM EMP;討論第5講:SQL語言概述第十節(jié):將空值轉(zhuǎn)換為實(shí)際值練習(xí)1、查詢員工的編號、姓名和獎金,如果獎金為NULL,則將獎金設(shè)置為200美元;(使用COALESCE函數(shù)實(shí)現(xiàn))2、查詢員工的編號、姓名和獎金,如果獎金為NULL,則將獎金設(shè)置為200美元;(使用CASE表達(dá)式實(shí)現(xiàn))作業(yè)第5講:檢索記錄使用的數(shù)據(jù)庫:SelectiveDB1、查詢T_Student表中的所有學(xué)生;2、查詢T_Student表中班級編號小于2的所有學(xué)生;3、查詢

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論