表关联基础练习题

本文展示了多个SQL查询示例,包括获取部门及其员工信息,筛选特定职位员工,列出所有员工薪资及部门,查找上级员工信息,过滤高薪员工,确定最高和最低薪资的部门,统计员工人数超过3的部门,以及查询特定部门的薪资统计信息。这些查询涵盖了员工和部门数据的综合分析。
摘要由CSDN通过智能技术生成

–1.列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门。

SELECT
      A.DNAME
     ,B.EMPNO
     ,B.ENAME
     ,B.JOB
     ,B.MGR
     ,B.HIREDATE
     ,B.SAL
     ,B.COMM
     ,B.DEPTNO 
FROM DEPT A 
LEFT JOIN EMP B
       ON A.DEPTNO=B.DEPTNO;

–2.列出所有“CLERK”(办事员)的姓名及其部门名称。

SELECT
      A.ENAME
     ,B.DNAME 
FROM EMP A
LEFT JOIN DEPT B
       ON A.DEPTNO=B.DEPTNO
WHERE A.JOB='CLERK';

–3.列出所有员工的姓名、部门名称和工资。

SELECT
      A.ENAME
     ,B.DNAME
     ,A.SAL 
FROM EMP A 
LEFT JOIN DEPT B
       ON A.DEPTNO=B.DEPTNO;

–4.列出所有员工的姓名及其直接上级的姓名。

SELECT
     B.ENAME  员工
    ,A.ENAME  领导
FROM EMP A 
inner JOIN EMP B
        ON A.EMPNO=B.MGR;

–5.查询 EMP 表和 DEPT 表中 工资大于 2000 的员工姓名、薪资、以及部门名称

SELECT
      A.ENAME
     ,A.SAL
     ,B.DNAME 
FROM EMP A 
LEFT JOIN DEPT B
       ON A.DEPTNO=B.DEPTNO
WHERE A.SAL>2000;       

–6.查询 EMP 表和 DEPT 表中最高工资和最低工资的部门名称

SELECT
      A1.DNAME
FROM DEPT A1
INNER JOIN (SELECT
                  B.DEPTNO
            FROM EMP B 
            WHERE B.SAL=( SELECT
                               MIN(A.SAL)
                          FROM EMP A 
                          )
                  OR B.SAL=( SELECT
                               MAX(A.SAL)
                            FROM EMP A 
                            ) 
            )A2
       ON A1.DEPTNO=A2.DEPTNO ; 
------------------------------------------------
SELECT
      A1.DNAME
FROM DEPT A1
INNER JOIN (SELECT
                  B.DEPTNO
            FROM EMP B 
            WHERE B.SAL IN( SELECT MIN(A.SAL) FROM EMP A 
                                 UNION 
                            SELECT MAX(A.SAL) FROM EMP A 
                           ) 
            )A2
       ON A1.DEPTNO = A2.DEPTNO ;  
                                       

–7.查询 EMP 表和 DEPT 表中 员工人数大于3的部门名称以及人工人数

SELECT
       B.DNAME
      ,COUNT(A.EMPNO) 
FROM EMP A 
LEFT JOIN DEPT B
       ON A.DEPTNO=B.DEPTNO
GROUP BY  B.DNAME 
HAVING COUNT(A.EMPNO)>3;       

–8.查询 EMP 表和 DEPT 表中 所有员工的详细信息

SELECT
      A.EMPNO,
      A.ENAME,
      A.JOB,
      A.MGR,
      A.HIREDATE,
      A.SAL,
      A.COMM,
      A.DEPTNO
      ,B.DNAME
      ,B.LOC
FROM EMP A
INNER JOIN DEPT B
       ON A.DEPTNO=B.DEPTNO;

–9.查询 EMP 表和 DEPT 表中 部门名称是 ‘RESEARCH’的最高工资、最低工资、平均工资、员工人数

SELECT 
      MAX(B.SAL)
     ,MIN(B.SAL)
     ,AVG(B.SAL)
     ,COUNT(B.EMPNO) 
FROM DEPT A
LEFT JOIN EMP B 
       ON A.DEPTNO=B.DEPTNO
WHERE A.DNAME='RESEARCH';       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值