第2章 數(shù)據(jù)查詢-條件查詢和排序_第1頁
第2章 數(shù)據(jù)查詢-條件查詢和排序_第2頁
第2章 數(shù)據(jù)查詢-條件查詢和排序_第3頁
第2章 數(shù)據(jù)查詢-條件查詢和排序_第4頁
第2章 數(shù)據(jù)查詢-條件查詢和排序_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Oracle數(shù)據(jù)庫查詢與管理第2章:條件查詢和排序本章內(nèi)容使用WHERE條件限定查詢行使用ORDER BY對查詢結(jié)果進(jìn)行排序使用替換變量&在查詢中使用單行函數(shù)字符串函數(shù)日期桉樹數(shù)字函數(shù)本章目標(biāo)掌握SELECT語句中的where條件限定能對查詢得到的數(shù)據(jù)進(jìn)行排序能使用單行函數(shù)進(jìn)行定制輸出問題需求:查詢部門編號為90的部門的員工信息1 使用WHERE子句限定返回行WHERE子句的作用customers表只想查看customer_id不等于2的顧客信息使用WHERE子句限定返回行限制選定的行使用WHERE子句可以限制返回的行WHERE子句在FROM子句的后面,包含一個必要條件語法說明語句語句

2、說明說明WHERE將查詢對象限制在滿足一定條件的行condition由列名、表達(dá)式、常數(shù)和比較運算符組成Where中的字符和日期字符串和日期應(yīng)放在單引號內(nèi)字符串區(qū)分大小寫,日期區(qū)分格式默認(rèn)的日期格式是DD-MON-RR示例:1.1條件表達(dá)式中的比較運算符比較值可以使用的比較運算符操作符操作符說明說明=等于 或!=不等于大于=大于或等于ANY跟在、=、=、=6000Last_name是Smith的員工where last_name=Smith示例:在WHERE子句中使用()號操作符從products表中檢索product_id和name列,滿足product_id列大于8SELECT produ

3、ct_id,nameFROM productsWHERE product_id8;示例:使用ANY操作符從customers表中檢索customer_id列大于2、3或4中任何一行的值SELECT *FROM customersWHERE customer_id ANY (2,3,4);示例:使用ALL操作符從customers表中檢索customer_id列比2、3和4都大的行SELECT *FROM customersWHERE customer_id ALL (2,3,4);1.2 SQL操作符操作符操作符說明說明LIKE與某個字符模式匹配IN與值列表的任一值匹配BETWEENAND介于

4、兩個值之間(包含這兩個值)SQL 操作符使用IN操作符來檢索其列值在某個列表中的行示例:返回雇員表中由編號100/101和201管轄的雇員信息用IN測試指定值集IN運算符可以用于任何的數(shù)據(jù)類型()中指定的數(shù)值順序是可以任意指定的注意:IN 運算符實質(zhì)上相當(dāng)于轉(zhuǎn)化為一系列等值比較的OR運算,因此性能上并不會提升,只能達(dá)到簡化邏輯的目的BETWEEN檢索指定范圍內(nèi)的值使用BETWEEN操作符來檢索值包含著指定區(qū)間內(nèi)的行示例:查詢薪資在2500到3500之前的雇員信息對字符串也可以使用BETEWEE用LIKE對字符串進(jìn)行模式匹配使用 LIKE 運算符可執(zhí)行通配符搜索,查找僅限于搜索字符串值搜索條件可

5、包含文字字符或數(shù)字: % 表示零個或多個字符_ 表示一個字符示例:使用LIKE操作符,查找first_name第一個字母為S的雇員:LIKE可以是某些BETWEEN比較的快捷實現(xiàn)比如:查詢1995年進(jìn)入公司的雇員信息這點是利用了“在Oracle中,日期是用字符串表示的”這個特點?LIKE中的ESCAPE指定轉(zhuǎn)義符IS NULL條件使用IS NULL可以測試空值上例:查詢沒有經(jīng)理管轄的雇員的姓名和經(jīng)理idSELECT last_name,manager_idFROM employeesWHERE manager_id=nullX查詢無權(quán)獲得傭金的所有雇員的信息(commission_pct為空值

6、)使用邏輯操作符邏輯操作符允許使用邏輯條件來限制查詢的結(jié)果使得可以在Where子句中使用多個條件操作符操作符說明說明x AND y當(dāng)x和y都為ture時,返回truex OR y當(dāng)x和y中有一個為true時,就返回trueNOT x如果x為false,則返回true;如果x為true,則返回false示例:從employees表中檢索滿足下列兩個條件的行薪資為10000或更高職位包含字符串“MAN”示例:從Employees表中檢索滿足下列兩個條件之一的行薪資為10000或更高職位包含字符串“MAN”NOT 運算符示例:查詢職務(wù)不是IT_PROG、ST_CLERK和SA_REP 的所有雇員的姓

7、名和職務(wù)。NOT與其他運算符一起使用使用ORDER BY 子句使用 ORDER BY 子句可對檢索結(jié)果進(jìn)行排序ASC:升序,默認(rèn)順序DESC:降序ORDER BY子句位于SELECT的最后使用ORDER BY 子句示例:使用ORDER BY 對從Employees表中獲得的數(shù)據(jù)根據(jù)入職日期hire_date進(jìn)行排序SELECT last_name,job_id,department_id,hire_date FROM employees ORDER BY hire_date;示例:使用DESC關(guān)鍵字。對從employees表中檢索出的數(shù)據(jù)首先根據(jù)hire_date進(jìn)行升序排序,然后根據(jù)last_name列的值進(jìn)行降序排序SELECT * FROM employeesORDER BY hire_date ,last_name ;按照列別名或數(shù)字位置排序替代變量對同一個查詢,每次運行時為查詢條件提供一個不同的值替代變量使用&替代變量可臨時存儲值可以在以下地方使用替代變量WHERE條件ORDER BY 子句列表達(dá)式表名整個SELECT語句注意:在JDBC代碼中調(diào)用的SQL語句,不能使用替代變量SELECT employee_id,last_name,salary,department_idFROM employeesWHERE employ

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論