SQL基础--子查询相关

SQL基础–子查询相关


通过子查询结果可把子查询分为以下几类:查值、查集合、查表

查值–子查询

查询员工部门名称

--查询结果作为返回字段
SELECT e.EMPLOYEE_ID,
       e.LAST_NAME,
       (SELECT d.DEPARTMENT_NAME
          FROM DEPARTMENTS d
         WHERE d.DEPARTMENT_ID = e.DEPARTMENT_ID) "DEPAT_NAME"
  FROM EMPLOYEES e;

查询部门名称是“Purchasing”的员工

--查询结果做为比较条件

SELECT e.EMPLOYEE_ID,
       e.LAST_NAME,
       e.DEPARTMENT_ID
FROM EMPLOYEES e
WHERE e.DEPARTMENT_ID = (
      SELECT d.DEPARTMENT_ID
      FROM DEPARTMENTS d
      WHERE d.DEPARTMENT_NAME = 'Purchasing'
);
查集合–子查询

查询部门ID大于80的员工

--查集合子查询

SELECT e.EMPLOYEE_ID,
       e.LAST_NAME,
       e.DEPARTMENT_ID
FROM EMPLOYEES e
WHERE e.DEPARTMENT_ID IN (
      SELECT d.DEPARTMENT_ID
      FROM DEPARTMENTS d
      WHERE d.DEPARTMENT_ID > 80
);
查表–子查询

查询部门工资最大工资


--查表子查询
SELECT d.DEPARTMENT_ID,d.DEPARTMENT_NAME,MAX_SAL
FROM DEPARTMENTS d,
     (SELECT DEPARTMENT_ID,MAX(SALARY) "MAX_SAL"
      FROM EMPLOYEES
      GROUP BY DEPARTMENT_ID) s
WHERE
s.DEPARTMENT_ID(+) = d.DEPARTMENT_ID;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值