oracle怎么查詢?nèi)肼?oracle查詢一個月前入職的員工

oracle基礎(第二節(jié))

進行篩選的基本運算符號:

成都創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、開江網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、H5高端網(wǎng)站建設、商城網(wǎng)站開發(fā)、集團公司官網(wǎng)建設、外貿(mào)營銷網(wǎng)站建設、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為開江等各大城市提供網(wǎng)站開發(fā)制作服務。

--查詢月薪高于2000的員工的姓名和其月薪

--查詢員工SMITH的員工信息

--關鍵字,表名,列名:大小寫是不敏感(隨意寫)

--數(shù)據(jù):大小寫是敏感(不能隨意寫)

--查詢不在20號部門工作的員工信息

--查詢在20號部門工作并且月薪高于2000的員工信息

--查詢職位是MANAGER或者月薪不低于3000的員工信息

--查詢在10號部門工作月薪低于2000并且職位不是CLERK的員工信息

--查詢在10號部門工作或(20號部門工作并且月薪不低于1500)的員工信息

--and的優(yōu)先級要高于or 如果兩者混合使用,需要注意優(yōu)先級的問題

--加括號解決優(yōu)先級問題

--SQL注入:利用了and的優(yōu)先級高于or完成無密碼進行登錄

--SQL片段:通過在密碼框中輸入下方的SQL片段,更改了原有SQL語句的邏輯 ' or lname = 'admin --or前的邏輯:賬號隨意,密碼為空 (登錄失?。?--or后的邏輯:用戶名是admin的賬號 (調(diào)取了admin的信息)

--1.查詢10號部門職位是MANAGER的員工信息

--2.查詢月薪低于2000或月薪高于3000的員工信息

--3.查詢員工編號是7902的員工的所有下屬的員工信息

--4.查詢職位是CLERK或SALESMAN,并且月薪不低于1000的員工信息

--5.查詢月收入不低于2500的員工信息

--6.查詢30號部門年收入低于10000的員工信息

--7.查詢員工SCOTT的月薪,獎金和月收入

--8.查詢在1982年之前入職的員工信息(選做)

--相當于 = A and = B

--查詢月薪在1000-2000區(qū)間的員工信息

--82年入職的員工

--like '特定字符'

-- 特定字符:由轉義字符和搜索文本組成

-- 轉義字符: %: 0-n個字符(任意長度的任意字符)

-- : 1個字符(1個長度的任意字符)

-- 比如 姓李 特定字符的寫法 '李%'

-- 第二個字符是哈 特定字符的寫法 ' 哈%'

--查詢員工名字首字母是S的員工

--查詢名字中倒數(shù)第2個字符是T的員工

--查詢名字中包含字母T的員工

--查詢名字中包含兩個字母T的員工

--查詢有兩個連續(xù)的T

--查詢名字中有%字符的員工

--聲明標識字符

--相當于 = A or = B or = C...

--查詢在10號部門或20號部門工作的員工

--查詢在10號部門工作或月薪高于1200的員工

-- = null 無法篩選任何數(shù)據(jù)

-- is null 篩選null值

-- not between A and B 不在A與B區(qū)間內(nèi)

-- not like '%A%' 名字里面沒有A

-- not in(A,B,C) 不是A,B,C其中之一

-- is not null 不為null

--查詢月薪不在1000-2000區(qū)間內(nèi)并且名字中不包含字母T的員工信息

--order by 列名 或 列別名 或 表達式 或 列序號

--ASC 升序 由小到大

--DESC 降序 由大到小

--不寫 默認是升序

--## 書寫順序:select...from...where...order by...

--## 執(zhí)行順序:from...where...select...order by...

--查詢所有員工的信息,按照月薪的升序排序

--再按照月薪的降序排序

--利用表達式排序

--利用列別名進行排序

--利用列序號進行排序(第4列)

--排序的原則:

--1.數(shù)值按照數(shù)值的大小

--2.文本按照字典順序

--3.日期按照未來的大

--#####order by 可以修飾多個列

-- ## order by A, B 先A的升序排序,如果A相同,再按B的升序排序

-- ## order by A desc, B desc 先A的降序排序,如果A相同,再按B的降序排序

--查詢月薪高于1000的員工,按照部門的升序排序,再按照入職日期降序排序

--推薦在order by中使用列名或列別名

--1.查詢名字中包含字母T,并且月薪在1500-3000之間的員工姓名和月薪

--2.查詢公司的BOSS信息(mgr值為null的人)

--3.查詢員工姓名,月薪,獎金,年收入,按照年收入降序進行排序顯示

--4.查詢職位中包含MAN并且有獎金收入(不是null不是0)的員工信息

--5.查詢在在1981年期間入職的員工信息,并按照月薪降序排序

--6.查詢員工信息,并按照職位升序,部門升序進行排序顯示

--7.查詢不在10號或20號部門工作,月薪低于1500的員工信息

--8.查詢所有的職位名稱,去掉重復后按照名稱的升序排序顯示

--9.查詢員工SCOTT和ADAMS的員工信息

--10.查詢年收入高于45000的員工信息,并按照年收入降序排序顯示

oracle中查詢所有員工入職以來的工作期限,并用“*年*月*日”的形式表示 怎樣寫sql語句呀

顯示天數(shù)很簡單,用當前日期減去入職日期即可,如下:

select empno,ename,sysdate-hiredate from emp;

顯示年月日的話,得進行一系列函數(shù)轉換,如下:

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會顯示工作期限的年數(shù)和月數(shù),我覺得沒有必要再顯示天數(shù)了,因為每個月的天數(shù)也不一致

oracle查詢?nèi)肼?個月員工

SELECT * FROM 表 WHERE MONTHS_BETWEEN(sysdate-入職日期)=8;

MONTHS_BETWEEN (x, y)用于計算x和y之間有幾個月。如果x在日歷中比y早,那么MONTHS_BETWEEN()就返回一個負數(shù)。

這個語句只支持入職日期那一列為Date類型,不然會出現(xiàn)錯誤。

不是DAE類型的話需要用to_date轉換

例如

SELECT * FROM 表 WHERE MONTHS_BETWEEN(sysdate-to_date(入職日期,'mm'))=8

希望能幫到您!

oracle查詢emp前一個月入職的員工

select ename,hiredate from emp where hiredate =to_date('1982/1/1','yyyy/mm/dd')

如果是要查詢1982-1-1后入職的應該是:

select ename,hiredate from emp where hiredate to_date('1982/1/1','yyyy/mm/dd')

當前名稱:oracle怎么查詢?nèi)肼?oracle查詢一個月前入職的員工
網(wǎng)站網(wǎng)址:http://www.muchs.cn/article10/hggcgo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、全網(wǎng)營銷推廣、App開發(fā)、用戶體驗網(wǎng)頁設計公司、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設公司