sql簡單查詢,過濾排序、單行函數(shù)_第1頁
sql簡單查詢,過濾排序、單行函數(shù)_第2頁
sql簡單查詢,過濾排序、單行函數(shù)_第3頁
sql簡單查詢,過濾排序、單行函數(shù)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、基本SQL select 語句SQL:structural query language (結(jié)構(gòu)化查詢語言)select * from employees;(查看所有,如果寫錯(cuò)表明會(huì)出現(xiàn)什么情況?*是查詢表中的所有列) select id , name , email from employees;注意:SQL 語言大小寫不敏感 SQL可以寫在一行或多行;關(guān)鍵字不能被縮寫也不能被分行(select /from);運(yùn)算符:+ 、- 、* 、 /select 8 * 4 from dual(偽表);練習(xí):查詢emp表中員工的no、 領(lǐng)導(dǎo)編號(hào)、姓名、級(jí)別和年薪+1000數(shù)字和日期何以使用算數(shù)運(yùn)算符(

2、標(biāo)識(shí)為number是數(shù)字,標(biāo)識(shí)為date的為日期)Number類型的: select last_name , salary , 12 * salary + 1000 from employees; 區(qū)分優(yōu)先級(jí) Date 類型的: select sysdate(當(dāng)天日期), sysdate + 1, sysdate + 2 from dual;(加減可以、乘除不可以) 練習(xí):查詢員工表中的first_name,last_name和領(lǐng)導(dǎo)編號(hào)*10的內(nèi)容練習(xí):查詢員工表中的first_name,last_name和領(lǐng)導(dǎo)編號(hào)+10的內(nèi)容空值: 空值不同于0, 凡是空值參與的運(yùn)算,結(jié)果都為空(null)

3、別名: 1緊跟列明后面不加逗號(hào)(select employee_id id , last_name name , salary *12 annual from employees) 2 在列明后面加關(guān)鍵字 as3 別名默認(rèn)顯示都是大寫的, 就想小寫怎么辦? 用” (select employee_id “id” from employees) 連接符:把列與列連接, 列與字符連接在一起,用 | 表示 , 可以用來合成列在Java里有字符串參與的就像是 +練習(xí): 最后顯示的結(jié)果是: aaa鄧超的生日是01-1月-1965練習(xí): 查詢顧客表中所有信息,別名分別是 m_id , 姓名(拼接后),生日

4、和電話號(hào)碼注意: Orcale 里的字符串用 只有在起別名的時(shí)候用到 ”重復(fù)行:默認(rèn)情況下,查詢會(huì)返回全部行,包括重復(fù)行select distinct (重復(fù))department_id from empolyees;二、過濾和排序數(shù)據(jù) select employee_id, employee_name from employee where id > 20查詢 生日為1965年1月1日出生的顧客信息傳統(tǒng)日期做法: select customer_id , first_name,last_name,phone from customers where dob='1-1月-1965

5、' 運(yùn)算符: = , > , >= , < , <= , <> !=Is null練習(xí):生日是空的顧客信息重點(diǎn):其他比較運(yùn)算符1.between.and. (在兩個(gè)值之間含邊界)查詢工資大于3000小于10000的員工的名字查詢工資大于等于3000小于和等于10000的員工的姓名select last_name from employees where between 3000 and 10000select last_name from employees where salary >= 3000 and salary <= 10000

6、2.In 等于值列表中一個(gè)查詢工資為3000和10000的員工的姓名1.select first_name|last_name from employees where salary=3000 or salary=100002.select first_name|last_name from employees where salary in(3000,10000)3.select first_name|last_name from employees where salary =any(3000,10000)4.select first_name|last_name from employe

7、es where salary = 3000union select first_name|last_name from employees where salary = 10000-顧客號(hào)是1和4的顧客的電話號(hào)碼(4種方式)Any:any是小于集合里任何一個(gè),也就是比括號(hào)中任何一個(gè)小就滿足了條件 select first_name|last_name from employees where salary<any(5000,10000,20000) All: 比所有的都小,比最小的都小,才滿足條件select first_name|last_name from employees wh

8、ere salary<all(5000,10000,20000)3.Like 模糊查詢-名字中含有a的員工的信息select * from employee where last_name like %a%-帶字母d的顧客的信息使用order by 子句排序Asc 升序 默認(rèn)升序Desc 降序Order子句在select語句末尾查詢領(lǐng)導(dǎo)編號(hào)為2的員工的信息并且按照工資降序 select first_name|last_name from employees where manager_id = 2 order by salary desc 查詢顧客表中顧客的信息,fist_name 降序

9、第三節(jié):單行函數(shù)目標(biāo):1.SQL中不用類型的函數(shù)2.在select語句中使用字符、數(shù)字和轉(zhuǎn)換函數(shù)3.使用條件表達(dá)式單行函數(shù):一個(gè)記錄一個(gè)結(jié)果多行函數(shù):多個(gè)記錄一個(gè)結(jié)果 比如分組函數(shù)字符函數(shù) : 大小寫控制函數(shù)(lower小寫 upper大寫 initcap首字母大寫)select lower('EASYBORNJAVAEE009')from dualselect upper('easybornJAVAEE009')from dualselect initcap('easybornjavaee009')from dual字符控制函數(shù):CONCAT

10、(Hello , World) 結(jié)果 : (HelloWorld) 連接字符查詢員工表的信息名字用concat連接SUBSTR(HelloWorld , 1 , 5) 結(jié)果 : (Hello) 注意: 5是輸出的個(gè)數(shù)LENGTH(HelloWorld)INSTR(HelloWorldW) 結(jié)果 : (10) 結(jié)果: (6) 首次出現(xiàn)的位置,如果沒有返回0LPAD(salary, 10 , *) 結(jié)果:(*2400) 左對(duì)齊 固定位置 對(duì)于工資來將使用lpad() select lpad(salary,5) from employeesRPAD(salary , 10 , *) 結(jié)果:(2400

11、*) 右對(duì)齊 固定位置結(jié)果:(elloWorld) 將一個(gè)字符從另一個(gè)字符串中移除 TRIM(H From HelloWorld)問題:是移除首次還是都移除?僅僅將字符串中首尾的字符移除了REPLACE (abcd , b , m) 結(jié)果:(amcd) 將一個(gè)字符串中的字符給取代問題:取代首次還是都取代? 將所有的字符都取代數(shù)字函數(shù):ROUND : 四舍五入select round(435.452 , 2) , round(435.452) round(435.452 , -2)TRUNC : 截?cái)?后面不管是大于5還是小于5都要截?cái)郙OD : 求余重點(diǎn) : 轉(zhuǎn)換函數(shù)數(shù)據(jù)類型轉(zhuǎn)換 : 隱式和顯

12、示隱式數(shù)據(jù)類型轉(zhuǎn)換 , Oracle會(huì)自動(dòng)來完成下列轉(zhuǎn)換例如 : select 12 + 2 from dualselect sysdate + 2 from dualSelect * from employees where id = 1顯示轉(zhuǎn)化 : TO_DATE 、TO_CHAR 、TO_NUMBERTO_DATE 和 TO_CHAR之間的轉(zhuǎn)化 :舉例: 生日為1965年1月1日出生的顧客的信息select concat(first_name,last_name),dob from customers where to_char(dob,'yyyy-mm-dd')=

13、9;1965-01-01' select concat(first_name,last_name) from customers where to_date('1965-01-01','yyyy-mm-dd')=dob NUMBER和 CHAR之間的轉(zhuǎn)化 :select to_char (1234567.89 , 999,999,999.99) from dual 用0也可以, 但是有一點(diǎn)區(qū)別select to_char (1234567.89 , $999,999,999.99) from dual $這就是表示美元select to_char (1234567.89 , L999,999,999.99) from dual L表示當(dāng)?shù)氐?、本地的貨幣符?hào) CHAR 轉(zhuǎn)換成數(shù)字 :select to_number (222 , 999)from dual 還可以運(yùn)算呢NVL函數(shù)將一個(gè)空值轉(zhuǎn)化為一個(gè)已知的值 :可以使用的數(shù)據(jù)類型有日期、字符、數(shù)字。函數(shù)的一般形式有 :NVL(expr1 , expr2)查詢員工的信息 注意 manager_id 為空的賦默認(rèn)值為0練習(xí):查詢顧客信息,如

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論