新聞中心
oracle基礎(chǔ)(第二節(jié))
進(jìn)行篩選的基本運(yùn)算符號(hào):

成都創(chuàng)新互聯(lián)公司專(zhuān)注于企業(yè)營(yíng)銷(xiāo)型網(wǎng)站、網(wǎng)站重做改版、開(kāi)江網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、商城網(wǎng)站開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為開(kāi)江等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
--查詢(xún)?cè)滦礁哂?000的員工的姓名和其月薪
--查詢(xún)員工SMITH的員工信息
--關(guān)鍵字,表名,列名:大小寫(xiě)是不敏感(隨意寫(xiě))
--數(shù)據(jù):大小寫(xiě)是敏感(不能隨意寫(xiě))
--查詢(xún)不在20號(hào)部門(mén)工作的員工信息
--查詢(xún)?cè)?0號(hào)部門(mén)工作并且月薪高于2000的員工信息
--查詢(xún)職位是MANAGER或者月薪不低于3000的員工信息
--查詢(xún)?cè)?0號(hào)部門(mén)工作月薪低于2000并且職位不是CLERK的員工信息
--查詢(xún)?cè)?0號(hào)部門(mén)工作或(20號(hào)部門(mén)工作并且月薪不低于1500)的員工信息
--and的優(yōu)先級(jí)要高于or 如果兩者混合使用,需要注意優(yōu)先級(jí)的問(wèn)題
--加括號(hào)解決優(yōu)先級(jí)問(wèn)題
--SQL注入:利用了and的優(yōu)先級(jí)高于or完成無(wú)密碼進(jìn)行登錄
--SQL片段:通過(guò)在密碼框中輸入下方的SQL片段,更改了原有SQL語(yǔ)句的邏輯 ' or lname = 'admin --or前的邏輯:賬號(hào)隨意,密碼為空 (登錄失敗) --or后的邏輯:用戶(hù)名是admin的賬號(hào) (調(diào)取了admin的信息)
--1.查詢(xún)10號(hào)部門(mén)職位是MANAGER的員工信息
--2.查詢(xún)?cè)滦降陀?000或月薪高于3000的員工信息
--3.查詢(xún)員工編號(hào)是7902的員工的所有下屬的員工信息
--4.查詢(xún)職位是CLERK或SALESMAN,并且月薪不低于1000的員工信息
--5.查詢(xún)?cè)率杖氩坏陀?500的員工信息
--6.查詢(xún)30號(hào)部門(mén)年收入低于10000的員工信息
--7.查詢(xún)員工SCOTT的月薪,獎(jiǎng)金和月收入
--8.查詢(xún)?cè)?982年之前入職的員工信息(選做)
--相當(dāng)于 = A and = B
--查詢(xún)?cè)滦皆?000-2000區(qū)間的員工信息
--82年入職的員工
--like '特定字符'
-- 特定字符:由轉(zhuǎn)義字符和搜索文本組成
-- 轉(zhuǎn)義字符: %: 0-n個(gè)字符(任意長(zhǎng)度的任意字符)
-- : 1個(gè)字符(1個(gè)長(zhǎng)度的任意字符)
-- 比如 姓李 特定字符的寫(xiě)法 '李%'
-- 第二個(gè)字符是哈 特定字符的寫(xiě)法 ' 哈%'
--查詢(xún)員工名字首字母是S的員工
--查詢(xún)名字中倒數(shù)第2個(gè)字符是T的員工
--查詢(xún)名字中包含字母T的員工
--查詢(xún)名字中包含兩個(gè)字母T的員工
--查詢(xún)有兩個(gè)連續(xù)的T
--查詢(xún)名字中有%字符的員工
--聲明標(biāo)識(shí)字符
--相當(dāng)于 = A or = B or = C...
--查詢(xún)?cè)?0號(hào)部門(mén)或20號(hào)部門(mén)工作的員工
--查詢(xún)?cè)?0號(hào)部門(mén)工作或月薪高于1200的員工
-- = null 無(wú)法篩選任何數(shù)據(jù)
-- is null 篩選null值
-- not between A and B 不在A(yíng)與B區(qū)間內(nèi)
-- not like '%A%' 名字里面沒(méi)有A
-- not in(A,B,C) 不是A,B,C其中之一
-- is not null 不為null
--查詢(xún)?cè)滦讲辉?000-2000區(qū)間內(nèi)并且名字中不包含字母T的員工信息
--order by 列名 或 列別名 或 表達(dá)式 或 列序號(hào)
--ASC 升序 由小到大
--DESC 降序 由大到小
--不寫(xiě) 默認(rèn)是升序
--## 書(shū)寫(xiě)順序:select...from...where...order by...
--## 執(zhí)行順序:from...where...select...order by...
--查詢(xún)所有員工的信息,按照月薪的升序排序
--再按照月薪的降序排序
--利用表達(dá)式排序
--利用列別名進(jìn)行排序
--利用列序號(hào)進(jìn)行排序(第4列)
--排序的原則:
--1.數(shù)值按照數(shù)值的大小
--2.文本按照字典順序
--3.日期按照未來(lái)的大
--#####order by 可以修飾多個(gè)列
-- ## order by A, B 先A的升序排序,如果A相同,再按B的升序排序
-- ## order by A desc, B desc 先A的降序排序,如果A相同,再按B的降序排序
--查詢(xún)?cè)滦礁哂?000的員工,按照部門(mén)的升序排序,再按照入職日期降序排序
--推薦在order by中使用列名或列別名
--1.查詢(xún)名字中包含字母T,并且月薪在1500-3000之間的員工姓名和月薪
--2.查詢(xún)公司的BOSS信息(mgr值為null的人)
--3.查詢(xún)員工姓名,月薪,獎(jiǎng)金,年收入,按照年收入降序進(jìn)行排序顯示
--4.查詢(xún)職位中包含MAN并且有獎(jiǎng)金收入(不是null不是0)的員工信息
--5.查詢(xún)?cè)谠?981年期間入職的員工信息,并按照月薪降序排序
--6.查詢(xún)員工信息,并按照職位升序,部門(mén)升序進(jìn)行排序顯示
--7.查詢(xún)不在10號(hào)或20號(hào)部門(mén)工作,月薪低于1500的員工信息
--8.查詢(xún)所有的職位名稱(chēng),去掉重復(fù)后按照名稱(chēng)的升序排序顯示
--9.查詢(xún)員工SCOTT和ADAMS的員工信息
--10.查詢(xún)年收入高于45000的員工信息,并按照年收入降序排序顯示
oracle中查詢(xún)所有員工入職以來(lái)的工作期限,并用“*年*月*日”的形式表示 怎樣寫(xiě)sql語(yǔ)句呀
顯示天數(shù)很簡(jiǎn)單,用當(dāng)前日期減去入職日期即可,如下:
select empno,ename,sysdate-hiredate from emp;
顯示年月日的話(huà),得進(jìn)行一系列函數(shù)轉(zhuǎn)換,如下:
select empno,ename,
to_char(floor(to_number((sysdate-hiredate)/365)))||' years '||
to_char(ceil(months_between(sysdate,hiredate)-(floor(to_number((sysdate-hiredate)/365)))*12))||' months '
from emp
上面的sql會(huì)顯示工作期限的年數(shù)和月數(shù),我覺(jué)得沒(méi)有必要再顯示天數(shù)了,因?yàn)槊總€(gè)月的天數(shù)也不一致
oracle查詢(xún)?nèi)肼?個(gè)月員工
SELECT * FROM 表 WHERE MONTHS_BETWEEN(sysdate-入職日期)=8;
MONTHS_BETWEEN (x, y)用于計(jì)算x和y之間有幾個(gè)月。如果x在日歷中比y早,那么MONTHS_BETWEEN()就返回一個(gè)負(fù)數(shù)。
這個(gè)語(yǔ)句只支持入職日期那一列為Date類(lèi)型,不然會(huì)出現(xiàn)錯(cuò)誤。
不是DAE類(lèi)型的話(huà)需要用to_date轉(zhuǎn)換
例如
SELECT * FROM 表 WHERE MONTHS_BETWEEN(sysdate-to_date(入職日期,'mm'))=8
希望能幫到您!
oracle查詢(xún)emp前一個(gè)月入職的員工
select ename,hiredate from emp where hiredate =to_date('1982/1/1','yyyy/mm/dd')
如果是要查詢(xún)1982-1-1后入職的應(yīng)該是:
select ename,hiredate from emp where hiredate to_date('1982/1/1','yyyy/mm/dd')
本文標(biāo)題:oracle怎么查詢(xún)?nèi)肼?oracle查詢(xún)一個(gè)月前入職的員工
當(dāng)前網(wǎng)址:http://www.dlmjj.cn/article/hggcgo.html


咨詢(xún)
建站咨詢(xún)
