• 查看员工信息每个部门的最低工资


    如果说:

    查询每一个部门最低工资的雇员信息


    关联子查询方法


    1 查询每一个部门的最低工资

    select deptno, min(sal) min_sal from emp group by deptno;


    2 同最低工资关联人员信息

    select e.* from emp e, (select deptno, min(sal) min_sal from emp group by deptno) s
    where e.deptno = s.deptno
    and e.sal = s.min_sal;


    inkeyword方法


    inkeyword是这样的场景easy想到的一个方法,先查询出部门的最低工资,然后匹配最低工资的雇员信息。


    select * from emp where sal in (select min(sal) from emp group by deptno);


    错误解析


    in 方法存在一个问题,当两部门中有多个同样的工资值时会产生错误的结果


    如今讲emp 中empno 为 1234 的用户部门改动为 20

    update emp set deptno = 20 where empno = 1234;

    然后再使用in查询方法查部门最低工资的员工信息


    这时,empno 为 1234 的员工工资与deptno为10的部门最低工资同样,所以使用in查询就查出了这个最低工资。


    可是使用 关联子查询 的方法查询,


    对比总结,在班上似询问,警告in keyword直接查询,相反,使用一个相关子查询,检查一步一步。



  • 相关阅读:
    Shell基本语法
    CURL简单使用
    <C> 字符串简单习题
    <C> 字符串相关的函数
    <C> 内存分区
    <C> 最大值以及最大值下标 二分查找(折半查找)
    <C> 函数 函数指针
    <C> 冒泡排序及其非常非常非常简单的优化
    <C> typedef 宏 const 位运算
    <C> 数组
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5033862.html
Copyright © 2020-2023  润新知