一、emp表 二、練習 1. 查詢出部門編號為30的所有員工2. 所有銷售員的姓名、編號和部門編號。3. 找出獎金高於工資的員工。4. 找出獎金高於工資60%的員工。5. 找出部門編號為10中所有經理,和部門編號為20中所有銷售員的詳細資料。 6. 找出部門編號為10中所有經理,部門編號為20中所有 ...
一、emp表
二、練習
1. 查詢出部門編號為30的所有員工
2. 所有銷售員的姓名、編號和部門編號。
3. 找出獎金高於工資的員工。
4. 找出獎金高於工資60%的員工。
5. 找出部門編號為10中所有經理,和部門編號為20中所有銷售員的詳細資料。
6. 找出部門編號為10中所有經理,部門編號為20中所有銷售員,還有即不是經理又不是銷售員但其工資大或等於20000的所有員工詳細資料。
7. 無獎金或獎金低於1000的員工。
8. 查詢名字由三個字組成的員工。
9.查詢2000年入職的員工。
10. 查詢所有員工詳細信息,用編號升序排序
11. 查詢所有員工詳細信息,用工資降序排序,如果工資相同使用入職日期升序排序
三、練習題解
/*
*/
/*1. 查詢出部門編號為30的所有員工*/
SELECT *
FROM emp
WHERE deptno=30;/*2. 查詢所有銷售員的姓名、編號和部門編號。*/
SELECT ename, empno, deptno
FROM emp
WHERE job='銷售員';/*3. 找出獎金高於工資的員工。*/
SELECT *
FROM emp
WHERE comm > sal/*4. 找出獎金高於工資60%的員工。*/
SELECT *
FROM emp
WHERE comm > sal*0.6;/*5. 找出部門編號為10中所有經理,和部門編號為20中所有銷售員的詳細資料。*/
SELECT *
FROM emp
WHERE (deptno=10 AND job='經理') OR (deptno=20 AND job='銷售員')/*6. 找出部門編號為10中所有經理,部門編號為20中所有銷售員,還有即不是經理又不是銷售員但其工資大或等於20000的所有員工詳細資料。*/
SELECT *
FROM emp
WHERE (deptno=10 AND job='經理') OR (deptno=20 AND job='銷售員') OR (job NOT IN ('經理', '銷售員') AND sal >= 20000)/*7. 無獎金或獎金低於1000的員工。*/
SELECT *
FROM emp
WHERE comm IS NULL OR comm < 1000/*8. 查詢名字由三個字組成的員工。*/
SELECT *
FROM emp
WHERE ename LIKE '___'/*9.查詢2000年入職的員工。*/
SELECT *
FROM emp
WHERE hiredate LIKE '2000-%'/*10. 查詢所有員工詳細信息,用編號升序排序*/
SELECT *
FROM emp
ORDER BY empno/*11. 查詢所有員工詳細信息,用工資降序排序,如果工資相同使用入職日期升序排序*/
SELECT *
FROM emp
ORDER BY sal DESC, hiredate ASC