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 - 返回右表中所有信息,以及左表中与右表有关联的部分
是不是看晕了,看这个图就明白了:

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

SQL语言Select经典语句的更多相关文章
- SQL update select结合语句详解及应用
QL update select语句 最常用的update语法是: 1 2 UPDATE TABLE_NAME SET column_name1 = VALUE WHRER column_name2 ...
- [SQL]SQL语言入门级教材_SQL语言快速入门(五)
SQL语言快速入门(一) SQL是英文Structured Query Language的缩写,意思为结构化查询语言. SQL语言的主要功能就是同各种数据库建立联系,进行沟通.按照ANSI(美国国家标 ...
- SQL入门(4): 嵌入式SQL语言
本节讲述内容: 1.嵌入式SQL 语言概述 2.变量声明与数据库连接 3.数据集与游标 4.可滚动游标与数据库的增删改 5.状态捕捉以及错误处理机制 (一)嵌入式SQL语言 之前我们所学的都是交互式S ...
- Impala SQL 语言元素(翻译)[转载]
原 Impala SQL 语言元素(翻译) 本文来源于http://my.oschina.net/weiqingbin/blog/189413#OSC_h2_2 摘要 http://www.cloud ...
- Impala SQL 语言元素(翻译)
摘要: http://www.cloudera.com/content/cloudera-content/cloudera-docs/Impala/latest/Installing-and-Usin ...
- 【转】sql server数据库操作大全——常用语句/技巧集锦/经典语句
本文为累计整理,有点乱,凑合着看吧! ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ☆ ☆ ☆ sql 宝 典 ☆ ☆ ☆ 2012年-8月 修订版 ☆ ...
- [SQL]SQL语言入门级教材_SQL语言基本语句介绍(四)
SQL语言基本语句介绍 • 表的建立 关系数据库的主要特点之一就是用表的方式组织数据.表是SQL语言存放数据.查找数据以及更新数据的基本数据结构.在SQL语言中,表有严格的定义,它是一种二维表,对于这 ...
- 【SQL】SQL 中Select语句完整的执行顺序
SQL Select语句完整的执行顺序: 1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函 ...
- SQL UNION 和 UNION ALL 操作符\SQL SELECT INTO 语句\SQL CREATE DATABASE 语句
SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每 ...
随机推荐
- Django modle基础样版
定义一个基类模版, from django.db import models class ModelBase(models.Model): """ "" ...
- CUDA中确定你显卡的thread和block数
CUDA中确定你显卡的thread和block数 在进行并行计算时, 你的显卡所支持创建的thread数与block数是有限制的, 因此, 需要自己提前确定够用, 再进行计算, 否则, 你需要改进你的 ...
- LPCXpresso54608开发板中文用户手册
M11035 LPCXpresso54608/54618/54S618开发板用户手册 1. 简介 LPCXpresso系列电路板为恩智浦LPC Cortex-M系列微控制器提供了强大而灵 ...
- vue中读取excel中数据
安装xlsx npm install xlsx --save-dev 安装好后在需要的页面 引入插件 import xlsx from 'xlsx' 调用 $('#uploadFile').chang ...
- 前端学习笔记--CSS布局--盒子模型
1.概述: 2.盒子模型 overflow属性: border属性: 1.padding属性: margin:
- 源码安装缺少configure文件
源代码中没有configure的软件安装方法 今天下载了一个旧版的GeoIP软件包,解压以后发现代码包中没有configure文件,现在这这里记录一下安装遇到的问题 网上大部分GeoIP下载地址已经失 ...
- Java位运算总结:位运算用途广泛
前天几天研究了下JDK的Collection接口,本来准备接着研究Map接口,可是一查看HashMap类源码傻眼咯,到处是位运算实现,所以我觉得还是有必要先补补位运算知识,不然代码看起来有点费力.今天 ...
- TCP服务端实现并发
socket 在 tcp 协议下通信 客户端 import socket # 创建客户端TCP协议通信 c = socket.socket() # 与指定服务端握手 c.connect(('127 ...
- javaScript基础及初始面向对象
对象是什么?对象是包含相关属性和方法的集合体属性方法什么是面向对象面向对象仅仅是一个概念或者编程思想通过一种叫做原型的方式来实现面向对象编程 创建对象自定义对象内置对象 自定义对象2-1基于Objec ...
- 关于item的prevvalue
一个数据库大小监控项的更新周期是86400.一天,使用的最新值减去上次数值来显示变化值,一直就是10g-0 变化值为10g. 在更新时间为一天的时候prevvalue是0,不能显示上次的数值 当吧更新 ...