MySQL之單表查詢練習


一、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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM