zoukankan      html  css  js  c++  java
  • mysql 外连接

    自连接:最大的特点是:一张表看做两张表。自己连接自己。

    找出每个员工的上级领导,要求显示员工名和对应的领导名。

    select e.ename,ee.ename from emp e join emp ee on e.mgr=ee.empno; 

    外连接最重要的特点是:主表的数据无条件的全部查询出来。就是包括null再内 如果没找到 用null代替  就不会减少查询出来的结果数量

    找出每个部门平均的薪水等级

    1.先找出每个员工的薪水等级

    select e.ename,s.grade,e.deptno from emp e join  salgrade s on e.sal between s.losal and hisal;

    2.再按部门给员工分组

         select avg( s.grade),s.deptno,s.ename from (select e.ename,s.grade,e.deptno from emp e join  salgrade s on e.sal between s.losal and hisal) s group by s.deptno;

    找出工作岗位是MANAGER和SALESMAN的员工?

    select ename,job from emp where job in('SALESMAN', 'MANAGER');

    5、limit (重点中的重点,以后分页查询全靠它了。)

    5.1、limit是mysql特有的,其他数据库中没有,不通用。(Oracle中有一个相同的机制,叫做rownum)

    5.2、limit取结果集中的部分数据,这时它的作用。

    5.3、语法机制:
    limit startIndex, length
    startIndex表示起始位置,从0开始,0表示第一条数据。
    length表示取几个

        案例:取出工资前5名的员工(思路:降序取前5个)

        select sal from emp group by sal asc limit 0,5;

        

  • 相关阅读:
    数列大小比较
    C的输入&输出
    PHP常用函数大全
    选择成就不一样的周末
    美图上市,跟我有关系?
    专心跑步
    越走窄的道路,谁能带我飞
    赶上了双12的末班车
    难道只要期待
    未达到的大梁、二梁,有希望便不会累
  • 原文地址:https://www.cnblogs.com/jj0531/p/14691955.html
Copyright © 2011-2022 走看看