SQL Server 子查询
SELECT *
FROM EMP AS E1
WHERE E1.EMPNO=( SELECT MAX(E2.EMPNO)
FROM EMP AS E2
)
在期待多个值的地方可以使用多值子查询。例如,以下查询返回员工部门编号在部门表中存在的员工信息:
SELECT * FROM EMP
WHERE DEPTNO IN(SELECT DEPTNO
FROM DEPT
)
子查询可以是标量的、多值的或是表值的。
在期待出现表的地方,还可以使用表值子查询或表表达式。例如,以下查询返回员工的EMPNO、ENAME和SAL,并以员工编号、员工姓名和员工薪水命名,最后以员工姓名进行排序:
SELECT *
FROM ( SELECT EMPNO AS '员工编号',
ENAME AS '员工姓名',
SAL AS '员工薪水'
FROM EMP
) AS E
ORDER BY 员工姓名
按期望值的数量可以分为标量子查询和多值子查询。
按子查询对外部查询的依赖性可以分为独立子查询和相关子查询。
标量子查询和多值子查询既可以是独立子查询,也可以是相关子查询
SELECT *
FROM EMP AS E1
WHERE E1.EMPNO = (SELECT MAX(E2.EMPNO)
FROM EMP AS E2
)
相关子查询
逻辑上,独立子查询只为整个外部查询计算一次。
相关子查询是引用了在外部查询中出现的列的子查询。从逻辑上讲,子查询会为外部查询的每一行进行一次计算。例如,查询每个组中员工薪水最高的员工信息:
SELECT E1.EMPNO,
E1.ENAME,
E1.SAL,
E1.DEPTNO
FROM EMP AS E1
WHERE E1.SAL = ( SELECT MAX(E2.SAL)
FROM EMP AS E2
WHERE E1.DEPTNO = E2.DEPTNO
)
以上就是子查询的相关知识~~
SQL Server 子查询的更多相关文章
- C#构造方法(函数) C#方法重载 C#字段和属性 MUI实现上拉加载和下拉刷新 SVN常用功能介绍(二) SVN常用功能介绍(一) ASP.NET常用内置对象之——Server sql server——子查询 C#接口 字符串的本质 AJAX原生JavaScript写法
C#构造方法(函数) 一.概括 1.通常创建一个对象的方法如图: 通过 Student tom = new Student(); 创建tom对象,这种创建实例的形式被称为构造方法. 简述:用来初 ...
- SQL Server子查询填充DataSet时报500内部错误的解决办法
运行环境为Visual Studio 2010,数据库为SQL Server 2008. 执行下面SQL语句 SELECT SubsiteId, SubsiteTitle, count(Collect ...
- SQL Server 子查询错误:No column name was specified for column 2 of 'a' error (转载)
问: I have a MySQL query and I ran it working fine but same query showing error in SQL Server. SQL Se ...
- sql server 子查询 和exists使用
概述 子查询的概念: 当一个查询是另一个查询的条件时,称之为子查询.子查询可以嵌套在主查询中所有位置,包括SELECT.FROM.WHERE.GROUP BY.HAVING.ORDER BY. 外面的 ...
- SQL Server 子查询遇到的坑
这两天改 Bug 时使用 Sql Server 的子查询遇到了一些问题,特此记录一下,之前用 MySQL 比较多,按照 MySQL 的语法其实是没有问题的. 以下面这张表为例: 执行以下 SQL: s ...
- SQL server 子查询、设置主键外键、变量及变量查询
一.子查询 子查询,又叫做嵌套查询. 将一个查询语句做为一个结果集供其他SQL语句使用,就像使用普通的表一样,被当作结果集的查询语句被称为子查询. 子查询有两种类型: 一种是只返回一个单值的子查询,这 ...
- SQL SERVER 子查询使用Order By;按In排序
[子查询]使用order by percent * from table order by id) a 这时发现结果没有按id排序,需要将100 percent 改成 99.999 percent 或 ...
- sql server——子查询
简述: 在查询语句中包含着有另外一条查询语句,被包含的查询语句称为子查询,包含着子查询的查询就称为父查询. 总之,子查询就是在查询语句里嵌套一条或者多条查询语句. 常用子查询分类: 一.独立子查询 特 ...
- SQL Server子查询实例
例子一 SELECT COUNT(*) FROM ( SELECT [PersonID] FROM [tbiz_AssScore] GROUP BY PersonID ) M 语法说明: 1).FRO ...
随机推荐
- 2015年11月30日 spring初级知识讲解(一)装配Bean
序,Spring的依赖注入是学习spring的基础.IOC为控制反转,意思是需要的时候就由spring生成一个,而不是先生成再使用. 写在前面 Spring提供面向接口编程,面向接口编程与依赖注入协作 ...
- jQuery 请指出'$'和'$.fn'的区别?或者说出'$.fn'的用途。
---------------------------------------------------------------------------------- 我们先把jQuery看成了一个类, ...
- C#深入浅出 C#语法中的重中之重——委托(四)
入行半年多了,委托干什么用的还不知道,真心说不过去了,关键对这东西有点恐惧,主要是被老师吓的,记得我C#专业课老师在讲到委托时,原话是这样的,同学们,委托这个地方是难点,暂时不讲,讲了你也不懂,等你有 ...
- Spark之集群搭建
注意,这种安装方式是集群方式:然后有常用两种运行模式: standalone , on yarn 区别就是在编写 standalone 与 onyarn 的程序时的配置不一样,具体请参照spar2中的 ...
- java系列-安装MySql(三)
第一大步:MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的.如果是msi格式的可以直接点击安装,按照它给出的安装提示进行安装(相信大家的英文可以看懂英文提示),一般MySQL将会安装 ...
- OS X 10.10.5编译Android5.1.1源码
--------------------------------------------------写在前面---------------------------------------------- ...
- BeanFactory和ApplicationContext的区别
1.BeanFactory和ApplicationContext的异同点: 相同点: 两者都是通过xml配置文件加载bean,ApplicationContext和BeanFacotry相比 ...
- Sql中的并(UNION)、交(INTERSECT)、差(minus)、除去(EXCEPT)详解
UNION 查询选修了180101号或180102号课程或二者都选修了的学生学号.课程号和成绩. (SELECT 学号, 课程号, 成绩 FROM 学习 WHERE 课程号='180101' ...
- C++多线程的几个重要方法解析CreateEvent / SetEvent /ResetEvent/ 等
1.CreateEvent 是创建windows事件的意思,作用主要用在判断线程退出,程锁定方面. 函功能描述:创建或打开一个命名的或无名的事件对象. HANDLE m_hExit; m_hExit= ...
- mongodb 释放磁盘空间
db.copyDatabase("from","to","127.0.0.1:16161"); 将127.0.0.1上的from库.拷贝到t ...