SQL语言(2)
SQL語言(2)
約束和排序數(shù)據(jù)
1.行選擇(選擇操作)
選擇表中的行,能夠使用不同的標(biāo)準(zhǔn)限制行;
?用選擇限制行時,要使用關(guān)鍵字where;
?Where子句跟著from子句;
?Where子句能夠比較列值、文字值、算術(shù)表達(dá)式或者函數(shù);
?Where子句由三個元素組成:1.列名2.比較條件3.列名、常量或值列表;
(以hr用戶中的employees為例)
例:查詢雇員的last_name、工作ID和部門ID,要求這些雇員的部門ID是90;
Select last_name,job_id,department_id from employees where department_id=90;
2.字符串和日期
?字符串和日期的值放在單引號中;
?字符值區(qū)分大小寫,日期值是格式敏感的;
?日期的默認(rèn)格式是DD(日)-MON(月)-RR(年); (也有特殊的情況:YYYY(年)/MM(月)/DD(日))
?中文版Oracle與英文版Oracle對于日期的月份格式有區(qū)別。中文版的用 1月而英 文版為月份的簡寫如:January Jan。
(以hr用戶中的employees為例)
例:1.查詢員工表中名字為King的員工的工作編號;
2.查詢2006年1月24日入職的員工的姓名、部門編號以及工作ID。
1.select job_id from employees where last_name= ’King’ ;
(文本中的符號與SQL中的符號有些差異,如果直接復(fù)制會出現(xiàn)ORA-00911: 文字 が無効です。異常!)
2.select last_name,department_id,job_id from employees where hire_date=’2006/01/24’;
?使用between and 條件
顯示基于一個值范圍的行,指定的范圍包含一個下限和一個上限。相當(dāng)于(a>=下 限)and(a<=上限);
(以hr用戶中的employees為例)
例:查詢薪水在2500和3500(包含2500與3500)之間的那些雇員的姓名以及薪水;
Select last_name,salary from employees where salary between 2500 and 3500;
?使用in條件
在指定的一組中進行選擇。相當(dāng)于a=value1 or a=value2 or a=value3;
(以hr用戶中的employees為例)
例:查詢所有經(jīng)理ID為100、101、201的雇員ID,名字,薪水;
Select employee_id,last_name,salary from employees where manager_id in(100,101,201);
?使用like條件
能夠選擇那些用like條件匹配一個字符模板的行,字符模板匹配運算涉及通配符查詢。有兩個符號%和_可以用來構(gòu)造搜索串。(%表示0個或多個字符,表示一個占位符);
(以hr用戶中的employees為例)
例:1.查詢employees表中名字以一個大寫字母S開始的雇員的名字;
2.查詢employees表中名字中第二位是一個小寫字母i的雇員的名字;
3.查詢所有在2005年進入本公司的員工的姓名和受雇日期;
1.Select last_name from employees where last_name like ‘S%’;
2.select last_name from employees where last_name like ‘s%’;
3.select last_name,hire_date from employees where hire_date like ‘05%’;
Escape:用于搜索實際的%和_符號。使用escape選項,該選項指定換碼符是什么。 如果你想要搜索包含’sa’的字符串可以使用escape對#表示該符號為轉(zhuǎn)義 符號。Like’%sa#%’ escape’#’;
(以hr用戶中的employees為例)
例:查詢員工表中工作ID中包含SA_的員工姓名以及工作ID;
Select last_name,job_id from employees where job_id like ‘SA#_%’ escape’#’;
?使用null條件
Null條件包含is null條件和is not null條件。Is null條件是用于空值測試。Is not null 測試不是空值;
(以hr用戶中的employees為例)
例:1.查詢所有沒有傭金的雇員的名字、工作ID、和傭金;
2.查詢所有有傭金的雇員的名字、工作ID、和傭金;
1.select last_name,job_id,commission_pct from employees where commission_pct is null;
2.select last_name,job_id,commission_pct from employees where commission_pct is not null;
總結(jié)