SQL查詢語句5

5、 列出所有“CLERK”(辦事員)的姓名,及其部門名稱,部門人數,工資等級。

◆ 確定要使用的數據表:

● emp表:姓名。

● dept表:部門名稱。

● emp表:部門人數。

● salgrade表:工資等級。

◆ 確定已知的關聯字段:

● 雇員和部門:emp.deptno = dept.deptno

● 雇員和工資等級:emp.sal BETWEEN salgrade.losal AND salgrade.hisal

第一步:找到所有辦事員的雇員信息

SELECT e.ename FROM emp e WHERE e.job='CLERK' ;

第二步:部門名稱

SELECT e.ename, d.dname FROM emp e, dept d

WHERE e.job='CLERK' AND e.deptno=d.deptno ;

第三步:統計部門人數

SELECT e.ename, d.dname, temp.count

FROM emp e, dept d, (

SELECT deptno dno, COUNT(empno) count FROM emp GROUP BY deptno ) temp

WHERE e.job='CLERK'

AND e.deptno=d.deptno

AND temp.dno=d.deptno ;

第四步:查詢出工資等級

SELECT e.ename, d.dname, temp.count, s.grade

FROM emp e, dept d, (

SELECT deptno dno, COUNT(empno) count FROM emp GROUP BY deptno ) temp, salgrade s

WHERE e.job='CLERK'

AND e.deptno=d.deptno

AND temp.dno=d.deptno

AND e.sal BETWEEN s.losal AND s.hisal ;

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. select * from emp; 2. select empno, ename, job from em...
    海納百川_4d26閱讀 1,939評論 0 4
  • 5.多表查詢 多表查詢 目的:從多張表獲取數據 前提:進行連接的多張表中有共同的列 等連接 通過兩個表具有相同意義...
    喬震閱讀 1,308評論 0 0
  • 幕課oracle學習筆記 --!!!scott用戶 --一.分組查詢 --1.常用的分組函數:AVG(平均數),S...
    xiaoxiao蘇閱讀 1,289評論 0 5
  • 查詢是數據的一個重要操作。用戶發送查詢請求,經編譯軟件變異成二進制文件供服務器查詢,后返回查詢結果集給用戶,查詢會...
    產品小正閱讀 1,435評論 0 2
  • 滾湯泡春茗一壺,青香繞陋室雅儒。群芳艷百雀爭鳴,君子樂飽覽萬書。
    蔣光頭jL94430閱讀 624評論 43 38