表结构和初始化数据已给出,以下是根据表结构和初始化数据给出的SQL查询语句:

  1. 列出至少有一个员工的所有部门。
SELECT DISTINCT d.DNAME
FROM DEPT d
INNER JOIN EMP e ON d.DEPTNO = e.DEPTNO;
  1. 列出薪金比“SMITH”多或者相等的所有员工。
SELECT *
FROM EMP
WHERE SAL >= (SELECT SAL FROM EMP WHERE ENAME = 'SMITH');
  1. 列出所有员工的姓名及其直接上级的姓名。
SELECT e.ENAME, m.ENAME AS MANAGER
FROM EMP e
LEFT JOIN EMP m ON e.MGR = m.EMPNO;
  1. 列出受雇日期早于其直接上级的所有员工。
SELECT e.*
FROM EMP e
INNER JOIN EMP m ON e.MGR = m.EMPNO
WHERE e.HIREDATE < m.HIREDATE;
  1. 列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门。
SELECT d.DNAME, e.*
FROM DEPT d
LEFT JOIN EMP e ON d.DEPTNO = e.DEPTNO;
  1. 列出所有“CLERK”(办事员)的姓名及其部门名称。
SELECT e.ENAME, d.DNAME
FROM EMP e
INNER JOIN DEPT d ON e.DEPTNO = d.DEPTNO
WHERE e.JOB = 'CLERK';
  1. 列出最低薪金大于1500的各种工作。
SELECT DISTINCT JOB
FROM EMP
WHERE SAL > 1500;
  1. 列出在部门“SALES”(销售部)工作的员工的姓名,假定不知道销售部的部门编号。
SELECT e.ENAME
FROM EMP e
INNER JOIN DEPT d ON e.DEPTNO = d.DEPTNO
WHERE d.DNAME = 'SALES';
  1. 列出薪金高于公司平均薪金的所有员工。
SELECT *
FROM EMP
WHERE SAL > (SELECT AVG(SAL) FROM EMP);
  1. 列出与“SCOTT”从事相同工作的所有员工。
SELECT *
FROM EMP
WHERE JOB = (SELECT JOB FROM EMP WHERE ENAME = 'SCOTT');
``
表结构和初始化数据drop database if exists emps;create database emps;use emps;create table empEMPNO INT -- 员工号ENAME VARCHAR10 -- 员工姓名JOB VARCHAR9 -- 工作岗位MGR int -- 经理的员工号外键HIREDATE date -- 入职时间SAL double -- 底薪C

原文地址: https://www.cveoy.top/t/topic/hIbC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录