在Oralce中偏序,對(duì)于一些操作需要添加運(yùn)算符來(lái)對(duì)查詢(xún)刪除等進(jìn)行條件的篩選,這些符號(hào)成為運(yùn)算符胖替,其包含算術(shù)運(yùn)算符研儒、比較運(yùn)算符、邏輯運(yùn)算符独令、連接運(yùn)算符端朵。
QL操作符優(yōu)先級(jí)從高到低為:算數(shù)操作符 - 連接操作符 - 比較操作符 - NOT邏輯操作符 - AND邏輯操作符 - OR邏輯操作符。
算術(shù)運(yùn)算符
算數(shù)運(yùn)算符包括 + - * /燃箭,通過(guò)算術(shù)運(yùn)算符可以生成一個(gè)新列冲呢,新列的值只是用于顯示,不計(jì)入舊表之中招狸,如果想要把運(yùn)算的值存入舊表中需要其余的操作敬拓。我們可以把生成的新列產(chǎn)生別名來(lái)記錄,使用別名的方法為 select 列名 別名 from 表名裙戏。
輸出一個(gè)表乘凸,顯示ename和empno+mgr。
select ename,empno+mgr from emp;
select ename,empno+mgr 和 from emp;
比較運(yùn)算符
比較運(yùn)算符一般用于比較累榜,其包括 =营勤、<>、!=信柿、<冀偶、>、<=渔嚷、>=进鸠、between and、in形病、like客年、is null,分別為等于漠吻、不等量瓜、不等、小于途乃、大于绍傲、小于等于、大于等于、在xxx之間烫饼、匹配猎塞、模糊匹配、為空杠纵。
=荠耽、<>、!=比藻、<铝量、>、<=银亲、>= 用于比較慢叨。
between and運(yùn)算符:使用between操作來(lái)查詢(xún)列值包含指定區(qū)間內(nèi)的行,這個(gè)區(qū)間也可以為日期(日期的默認(rèn)形式為日-月-年群凶,月為英文顯示)插爹。
in運(yùn)算符:會(huì)與后面查詢(xún)結(jié)果或列出的的所有值進(jìn)行匹配。
like運(yùn)算符:使用like運(yùn)算符一般和通配符一起使用请梢,通常使用通配符%和_達(dá)到模糊匹配的效果。其中%表示零個(gè)或者多個(gè)字符力穗,_表示一個(gè)字符毅弧。
is null:判斷該值是否為空,如果為空則返回当窗,否則不返回够坐。
使用= <> !=來(lái)判斷
select ename from emp where mgr=7698;
select ename from emp where mgr<>7698;
select ename from emp where mgr!=7698;
使用between進(jìn)行日期判斷
select ename from emp where hiredate between '01-may-1980' and '01-may-1981';
查詢(xún)工作為MANAGER或CLERK的信息
select empno,ename,job from emp where job in ('MANAGER','CLERK');
使用like查詢(xún)empno中以79開(kāi)頭的值
select empno,ename,job from emp where empno like '79%';
練習(xí):
select empno,ename,sal from emp where sal>1500;
查詢(xún)emp表中薪資大于1500的員工編號(hào)、員工姓名崖面、薪資
select empno,ename,sal from emp where job<>'salesman';
查詢(xún)emp表中非salesman的員工編號(hào)元咙、員工姓名
select * from emp where hiredate>'01-jan-1980' and hiredate<'05-may-1981';
顯示1980-01-01到1981-05-05雇傭的員工信息
select * from emp where hiredate>to_date('1980/01/01','yyyy/mm/dd') and hiredate<to_date('1981/05/05','yyyy/mm/dd');
顯示1980-01-01到1981-05-05雇傭的員工信息
邏輯運(yùn)算符
邏輯運(yùn)算符用于組合多個(gè)比較多個(gè)運(yùn)算的結(jié)果以生成一個(gè)真或假的結(jié)果,邏輯運(yùn)算操作符包括與(and) 或(or) 非(not)巫员。
select empno,ename,job from emp where empno>=7600 and empno <=7800;
連接運(yùn)算符
連接運(yùn)算符用于將多個(gè)字符串或者數(shù)據(jù)值合并成一個(gè)字符串庶香,常用的連接運(yùn)算符是||,可以表示輸出結(jié)果的時(shí)候顯示的值简识。
select ('錢(qián)是'||mgr)mgr from emp;
注:別名介紹
使用as來(lái)命令別名或者不添加直接使用
列名 as 別名 或者 列名 別名
select ename,empno+mgr 和 from emp;
附
(1)emp表介紹
字段 ? ? ? ? ? ? ?類(lèi)型 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?描述
empno ? ? ? ? ?NUMBER(4) ? ? ? ? ? ? ? ? 表示雇員編號(hào)赶掖,是唯一編號(hào)
ename ? ? ? ? ?VAECHAR2(10) ? ? ? ? ? 表示雇員姓名
job ? ? ? ? ? ? ? ?VARCHAR2(9) ? ? ? ? ? ? 表示工作職位
mgr ? ? ? ? ? ? ?NUMBER(4) ? ? ? ? ? ? ? ? 表示一個(gè)雇員的領(lǐng)導(dǎo)編號(hào)
hiredate ? ? ? DATE ? ? ? ? ? ? ? ? ? ? ? ? ? ?表示雇傭日期
sal ? ? ? ? ? ? ? NUMBER(7,2) ? ? ? ? ? ? ? 表示月薪,工資
comm ? ? ? ? ?NUMBER(7,2) ? ? ? ? ? ? ? 表示獎(jiǎng)金七扰,或者稱(chēng)為傭金
deptno ? ? ? ? NUMBER(2) ? ? ? ? ? ? ? ? 部門(mén)編號(hào)
(2)Date類(lèi)型
使用Date有兩種形式
第一種是'日-月-年' 日直接用數(shù)字奢赂,月用英語(yǔ)表示,年為四位的年份颈走。
第二種是to_date('xx-xx-xxxx','dd-mm-yyyy') 使用todate字符轉(zhuǎn)換膳灶,前面的日期年月日順序無(wú)所謂,只需要與后面的dd mm yyyy相對(duì)應(yīng)即可立由。
dd 表示日轧钓,mm 表示月序厉,yyyy 表示年。
(3)通配符
- ? 匹配一個(gè)字符 ? ? ? ? ? ? ? ? ? ? ? ? ? ? A like 'c_'
% 匹配0或多個(gè)任意長(zhǎng)度字符串 ? ? b like 'c%'
[] ?括號(hào)內(nèi)指定范圍內(nèi)的一個(gè)字符 ? c like '9w[1-2]'
'_S%' 第二個(gè)字符是s的字符串
'%30\%%' escape '\' 包含30%的字符串
escape設(shè)置了\為賺意字符聋迎,\表示轉(zhuǎn)意脂矫,即第二個(gè)%表示字符,第一和第三個(gè)全表示0個(gè)或任意長(zhǎng)度的字符串
escape關(guān)鍵字是指定轉(zhuǎn)義字符的霉晕,上面的轉(zhuǎn)義字符就是 \
例子:
select ename as 姓名 from emp where ename like 'A%';
select ename as 姓名 from emp where ename like '%S%';
select * from emp where ename like '%b_%' escape 'b';