oracle習題-emp表查詢練習

來源:互聯網
上載者:User

標籤:沒有   comm   sel   編號   group   style   asc   blog   to_date   

emp表查詢練習

1 查詢emp表的全部記錄

  Select * from emp;

2 查詢出每個僱員的編號、姓名、基本工資

  Select empno,ename,sal from emp;

3 查詢出每個僱員的職位並消除重複行

  Select distinct job from emp;

4 查詢出每個僱員的姓名、職位

  Select ename,job from emp;

5 要求顯示每一個僱員的姓名、職位、基本年薪,並將年薪命名為income

  Select ename,job,sal*12 as income from emp;

6 由於公司的福利很高,每個月都有200元的飯食補助以及100元車費補貼,這個時候的年薪

  Select ename,job,(sal+300)*12 as年薪 from emp;

7 要求現在的資料庫按照如下的格式顯示:“僱員編號是:7369的僱員姓名是:SMITH,基本工資是:800,職位是:CLERK!”

  Select ‘僱員編號是: ’||empno ||’ 的僱員姓名是: ’|| ename || ‘,基本工資是: ’|| sal ||’,職位是: ’|| job || ‘!’ from emp;

8 要求查詢出基本工資高於1500的所有僱員資訊

  Select * from emp where sal>150

9 查詢出所有職位是CLERK的僱員資訊  

  Select * from emp where job=’CLERK’;

10 查詢工資在1500~3000之間的全部僱員資訊

  SELECT * FROM EMP WHERE SAL BETWEENT 1500 AND 3000;  SELECT * FROM EMP WHERE SAL>=1500 AND SAL<=3000;

11 查詢出職位是CLERK,或者是SALESMAN的全部資訊

  SELECT * FROM EMP WHERE JOB=’CLERK’ OR JOB=’SALESMAN’;  SELECT * FROM EMP WHERE JOB IN(‘CLERK’,’SALESMAN’);

12 查詢出職位是CLERK,或者是SALESMAN的全部資訊,並且要求這些僱員的工資大於1200

  SELECT * FROM EMP WHERE (JOB=’CLERK’ OR JOB=’SALESMAN’) AND SAL>1200;  SELECT * FROM EMP WHERE JOB IN(‘CLERK’,’SALESMAN’) AND SAL>1200;

13 查詢所有不是CLERK的僱員資訊

  SELECT * FROM EMP WHERE JOB<>’CLERK’;  SELECT * FROM EMP WHERE JOB!=’CLERK’;

14 要求查詢在1981年僱傭的全部僱員資訊(使用between and)

  SELECT * FROM EMP WHERE HIREDATE BETWEEN ’01-1月-81’ AND ’31-12月-81’;  SELECT * FROM EMP WHERE HIREDATE BETWEEN TO_DATE(‘1981-01-01’,’YYYY-MM-DD’) AND TO_DATE(‘1981-12-31’,’YYYY-MM-DD’);

15 要求查詢出所有的僱員資訊,按照工資由高到低排序,如果工資相同,則按照僱傭日期由早到晚排序

  SELECT * FROM EMP ORDER BY SAL DESC,HIREDATE ASC;

16 找出獎金高於薪金的員工。

  SELECT * FROM EMP WHERE NVL(COMM,0)>SAL;

17 找出獎金高於薪金的60%的員工。

  SELECT * FROM EMP WHERE NVL(COMM,0)>SAL*0.6;

18 找出部門10中所有經理(MANAGER)和部門20中所有辦事員(CLERK)的詳細資料。

  SELECT * FROM EMP WHERE DEPTNO=10 AND JOB=’MANAGER’ OR DEPTNO=20 AND JOB=’CLERK’;

19 找出部門10中所有經理(MANAGER),部門20中所有辦事員(CLERK),既不是經理又不是辦事員但其薪金大於或等於2000的所有員工的詳細資料。

  SELECT * FROM EMP WHERE DEPTNO=10 AND JOB=’MANAGER’ OR DEPTNO=20 AND JOB=’CLERK’ OR JOB NOT IN(‘MANAGER’,’CLERK’) AND SAL>=2000;

20 找出收取獎金的員工的不同工作。

SELECT DISTINCT JOB FROM EMP WHERE COMM IS NOT NULL;SELECT DISTINCT JOB FROM EMP WHERE NVL(COMM,0)<>0;

21 找出沒有獎金或獎金低於100的員工。

SELECT * FROM EMP WHERE COMM IS NULL OR COMM<100;

22 查詢崗位(job)為MANAGER的員工的數量

SELECT JOB,COUNT(*) FROM EMP WHERE JOB=’MANAGER’ GROUP BY JOB;SELECT COUNT(*) FROM EMP WHERE JOB=’MANAGER’;SELECT COUNT(JOB) FROM EMP WHERE JOB=’MANAGER’;

23 統計各部門下工資大於500的員工的平均工資

SELECT DEPTNO,AVG(SAL) FROM EMP WHERE SAL>500 GROUP BY DEPTN

24 統計平均工資大於500的部門

SELECT DEPTNO,AVG(SAL) FROM EMP GROUP BY DEPTNO HAVING AVG(SAL)>500

 

25 算出部門30中得到最多獎金的員工獎金

SELECT MAX(COMM) FROM EMP WHERE DEPTNO=30;SELECT DEPTNO,MAX(COMM) FROM EMP WHERE DEPTNO=30 GROUP BY DEPTNO;

 

26 算出每個職位的員工數和最低工資

SELECT JOB,COUNT(JOB),MIN(SAL) FROM EMP GROUP BY JOB;

 

oracle習題-emp表查詢練習

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.