zoukankan      html  css  js  c++  java
  • SQL语言Select经典语句

    -- 示例数据
    Select * From Employee
    Select * From Department
    
    -- 返回工资最高的员工的信息
    Select * From Employee where Salary in (Select MAX(Salary) from Employee)
    
    -- 返回员工表中最高工资
    Select Max(Salary) from Employee
    
    -- 从员工表中返回第二高的工资
    Select Max(Salary) from Employee where Salary not in(Select Max(Salary) from Employee)
    
    -- 按照员工Id的区间获取相应员工信息
    Select * from Employee where Id between 1 and 3
    
    -- 返回工资最高员工的信息以及他所在的部门名称
    Select e.Salary, e.Name, d.Name from Employee as e inner join Department as d on e.Dept_Id=d.Id where e.Salary in (Select MAX(Salary) from Employee)
    
    -- 返回每一个部门中的工资最高的员工信息
    Select e.Salary, e.Name, d.Name from Employee as e inner join Department as d on e.Dept_Id=d.Id 
    where e.Salary in (Select MAX(Salary) from Employee group by Dept_Id)

    注意:最后的一个Select语句中使用到了group by, group by经常和Aggregate函数一起使用,用来按分组统计MAX(), Min(), AVG(),等等。

    示例数据

    返回工资最高的员工的信息

    返回员工表中最高工资

    从员工表中返回第二高的工资

    按照员工Id的区间获取相应员工信息

    返回工资最高员工的信息以及他所在的部门名称

    
    
    以上代码使用到了inner join,除了inner join外,还有outer join, left join, right join,他们的区别是:
    • inner join - 返回2个表中共同有关联的部分
    • outer join - 返回2个表中所有的信息,有关联的部分合在一起
    • left join - 返回左表中所有的信息,以及右表中与左表有关联的部分
    • right join - 返回右表中所有信息,以及左表中与右表有关联的部分
    是不是看晕了,看这个图就明白了:

    
    
    返回每一个部门中的工资最高的员工信息

  • 相关阅读:
    flash做的按扭突然在页面上获取不到焦点之后
    收集 关于js的接口和 继承实现的代码例子
    从我丢失了;号 之后说开来去
    你真的会写JavaScript吗?
    json.js + jquery 在 ie7下 的 bug
    如何减少浏览器的repaint和reflow? [转]
    2012我们需要什么样的前的工程师
    JavaScript是否可实现多线程 — 深入理解JavaScript定时机制
    是时候了,我们需要前端架构师
    JS事件模型小结
  • 原文地址:https://www.cnblogs.com/qixue/p/10907165.html
Copyright © 2011-2022 走看看