zoukankan      html  css  js  c++  java
  • mysql语句积累(正确的sql语句是业务成功的一半)

    SQL语句的书写顺序:
    select...
    from...
    where...
    group by...
    order by...
    ...
    SQL语句的执行顺序:
    from... -- 确定要查询的是哪张表 (定义表别名)
    where... -- 从整张表的数据中进行筛选过滤
    select... -- 确定要显示哪些列 (定义列别名)
    group by... -- 根据指定的列进行分组
    order by... -- 根据指定的列进行排序

    emp{#id,#name,#dept_id,#sal,#job,#bonus}   //员工表

    dept{#id,#name}                                                //部门表

    1,列出薪资比'A'部门(已知部门编号为10)所有员工薪资都高的员工信息,显示员工姓名、薪资和部门名称。

    select emp.name, sal, dept.name
    from emp left join dept
    on emp.dept_id=dept.id
    where sal>(select max(sal) from emp where dept_id=30);

    2,列出所有员工及其直接上级,显示员工姓名、上级编号,上级姓名

    select e1.name, e2.id, e2.name
    from emp e1, emp e2
    where e1.topid=e2.id;

    3,列出在'A部门'任职的员工,假定不知道'A部门'的部门编号, 显示部门名称,员工名称。

    select dept.name, emp1.name
    from emp,dept
    where emp.dept_id=dept.id
    and dept.name='A部';

    4,对emp表按照部门进行分组, 求每个部门的最高薪资(不包含奖金),显示部门名称和最高薪资

    select max(sal) from emp;
    select dept, max(sal) from emp
    group by dept;

    5,查询每个部门的最高薪资,显示对应部门,员工姓名,最高薪资

    select emp.dept, name, a.ms from emp,(select dept,max(sal) ms from emp group by dept) a
    where emp.dept = a.dept and emp.sal=a.ms;

  • 相关阅读:
    SVN中的Trunk、Tag、Brance的用法
    开发下载地址汇集
    Hessian原理分析
    Java中间件:淘宝网系统高性能利器
    linux进阶
    常见的Hadoop十大应用误解
    搜索引擎汇总
    bat薪酬
    常用的快速Web原型图设计工具
    apache kafka消息服务
  • 原文地址:https://www.cnblogs.com/pureray-hui/p/12410881.html
Copyright © 2011-2022 走看看