Oracle簡單查詢語句

2021-06-23 01:49:51 字數 2580 閱讀 9655



oracle

簡單查詢語句

1.       選擇部門30中的所有員工

select * from emp where deptno = 30;

2.       列出所有辦事員的姓名、編號和部門編號

select ename,empno,deptno from emp where job = 'clerk';

3.       找出佣金高於薪金的員工

select * from emp  where comm > sal;

4.       找出佣金高於薪金60%的員工

select * from emp  where comm > (0.6)*sal;

5.       找出部門10中所有經理和部門20中所有辦事員的詳細資料

select * from emp where (deptno=10and job='manager') or (deptno=20and job='clerk');

6.       找出部門10中所有經理,部門20中所有辦事員,既不是經理又不是辦事員但薪金大於或等於2000的所有員工的詳細資料  

select * from emp where (deptno=10and job='manager') or (deptno=20and job='clerk')or job notin ('manager','clerk') and sal >=2000;

7.       找出收取佣金的員工的不同工作

selectdistinct job from emp where comm isnotnull;

8.       找出不收取佣金或收取的佣金低於100的員工

select * from emp where comm isnullor comm < 100;

9.       找出各月倒數第三天受僱的所有員工。

select * from emp where last_day(hiredate)-hiredate=2;

10.   找出早於12年前受僱的員工

select * from emp where months_between(sysdate,hiredate)/12 >=12;

11.   以首字母大寫的方式顯示所有員工的姓名

select initcap(ename) from emp;

12.   顯示正好為5個字元的員工姓名

select ename from emp where length(ename)=5;

13.   顯示不帶有r的員工姓名 

select ename from emp where ename notlike'%r%';

14.   顯示所有員工的前三個字元

select substr(ename,1,3) from emp ;

15.   顯示所有員工的姓名,用a替換所有a

selectreplace(ename,'a','a') from emp ;

16.   顯示滿10年服務年限的員工的姓名和受僱日期

select ename ,hiredate from emp where months_between(sysdate,hiredate)/12>=10;

17.   顯示員工的詳細資料,按姓名排序

select * from emp orderby ename ;

18.   顯示員工的姓名和受僱日期,根據其服務年限,將最老的員工排在最前面

select ename ,hiredate from emp orderby hiredate asc;

19.   顯示所有員工的姓名、工作和薪金,按工作的降序排序,若工作相同按薪金排序

select ename,job,sal from emp orderby job desc ,sal;

20.   顯示所有員工姓名、加入公司的年份和月份,按受僱日期所在月排序,若月份相同則將最早年份的員工排在最前面。

select ename,to_char(hiredate,'yyyy/mm') from emp orderby to_char(hiredate,'mm'),to_char(hiredate,'yyyy') asc ;

21.   顯示在乙個月為30天的情況所有員工的日薪金,忽略餘數

select  round(sal/30) from emp; 

22.   找出在任何年份的2月受聘的所有員工

select * from emp where to_char(hiredate ,'mm')=2 ;

23.   對於每個員工,顯示其加入公司的天數

select ename,round(sysdate-hiredate) emp_date from emp;

24.   以年月日的方式顯示所有員工的服務年限

select ename,to_char(hiredate,'yyyy')||'年'||to_char(hiredate,'mm')||'月'||to_char(hiredate,'dd')||'日'from emp;

原文**:

Oracle 語句之簡單常用查詢

新增欄位和備註alter table 表名 add col1 varchar2 10 col2 varchar2 10 comment on column 表名.col1 is 欄位1 comment on column 表名.col2 is 欄位2 修改字段alter table 表名 modif...

Oracle查詢語句

select sysdate from dual dual 臨時的表,使語法結構完整,沒有什麼意義。oracle中的select語句必須要有from 而sql2008中可以沒有。起別名 起別名 as起別名,不用加雙引號.加空格起別名,要加雙引號 select name as 姓名 from stud...

Oracle查詢語句

列出所有部門的詳細資訊和部門人數。這裡需要部門的詳細資訊和部門人數,顯然需要我們進行表的連線 那麼這裡我們先貼出兩張表長啥樣 像這樣的關於兩張表的連線,那麼我們一般先一張一張來 比如這裡我們可以先解決部門的詳細資訊 然後解決部門人數 select deptno,count 1 人數 from emp...