【2017-03-12】SQL Sever 子查询、聚合函数
一、子查询
子查询:
把一条查询语句,当做值来使用
子句的查询结果必须是一列
子句可以返回多行数据,但必须是一列
子句返回的值为一个值的时候:
例如:
我只知道c026这个编号,我要查询比这个车价格低的全部车辆信息
select *from car where price<(select price from car where code='c026') --先执行括号内返回一个值,再执行外边。此时括号内返回的是一个值的时候
若子句返回的是一列值而不是一个值的时候:
例如:
查询油耗与c016相等的或者与c029相等的或者与c014相等的全部汽车信息
select * from car where oil in(select oil from car where code='c016' or code='c029' or code='c014')
in的用法:
select * from car where oil=7.4 or oil=8 or oil=8.3 与 select *from car where oil in (7.4,8,8.3) 执行结果一模一样
如果想得到油耗除7.4,8,8.3以外的汽车信息: select * from car where oil not in (7.4,8,8.3)
油耗的7到8之间的车的信息(包括7和8)

执行结果一样,但第一种更好一些
any用法:

油耗大于任意一个数,即为油耗大于其中的最小值即可。如果是油耗小于任意一个数,则为油耗小于最大值即可。
all 用法:
select * from car where oil> all(7.4,8,8.3)
油耗大于所有,则为油耗大于最大值。若是油耗小于所有,则为油耗小于最小值。
从多个表中查询返回到一个表中:
查询所有学生的Sname、Cno和Degree列。
select (select Sname from Student where Student.Sno=Score.Sno),Cno,Degree from Score
--其中Sname在Student表中,Cno和Degree在Score表中,其中两个表有Student.Sno=Score.Sno的连接
--用数据多的表做为主表来查询,其中Score为主表
查询所有学生的Sno、Cname和Degree列。
select Sno,(select Cname from Course where Course.Cno=Score.Cno),Degree from Score
--其中Sno和Degree在Score表中,Cname在Course表中,其中两个表有Course.Cno=Score.Cno的连接
--用数据多的表做为主表来查询,其中Score为主表
二、聚合函数
1、max,min:取最大值,最小值
--查询油耗最小的汽车的信息
select * from car where oil=(select max(oil) from car)
2、avg:取平均值
--查询汽车的平均价格

其中 as 用来起别名
3、count:取总个数
--求一下一共有多少车

即为求一下一共多少行
4、sum:求和
--求一下所有车的总价

按油耗进行分组,并看一下每组有多少辆车

【2017-03-12】SQL Sever 子查询、聚合函数的更多相关文章
- SQL Fundamentals: 子查询 || WHERE,HAVING,FROM,SELECT子句中使用子查询,WITH子句
SQL Fundamentals || Oracle SQL语言 子查询(基础) 1.认识子查询 2.WHERE子句中使用子查询 3.在HAVING子句中使用子查询 4.在FROM子句中使用子查询 5 ...
- C#构造方法(函数) C#方法重载 C#字段和属性 MUI实现上拉加载和下拉刷新 SVN常用功能介绍(二) SVN常用功能介绍(一) ASP.NET常用内置对象之——Server sql server——子查询 C#接口 字符串的本质 AJAX原生JavaScript写法
C#构造方法(函数) 一.概括 1.通常创建一个对象的方法如图: 通过 Student tom = new Student(); 创建tom对象,这种创建实例的形式被称为构造方法. 简述:用来初 ...
- SQL Fundamentals: 子查询 || 分析函数(PARTITION BY,ORDER BY, WINDOWING)
SQL Fundamentals || Oracle SQL语言 子查询(基础) 1.认识子查询 2.WHERE子句中使用子查询 3.在HAVING子句中使用子查询 4.在FROM子句中使用子查询 5 ...
- SQL Fundamentals: 子查询 || 行列转换(PIVOT,UNPIVOT,DECODE),设置数据层次(LEVEL...CONNECT BY)
SQL Fundamentals || Oracle SQL语言 子查询(基础) 1.认识子查询 2.WHERE子句中使用子查询 3.在HAVING子句中使用子查询 4.在FROM子句中使用子查询 5 ...
- SQL的子查询操作
对于表中的每一个记录,我们有时候需要提取特殊的或者你需要的记录,要提前做一个表的筛选,之后再对你选出的记录做一个修改,此时你必须使用SQL的子查询操作.如:修改id=5的记录的strContent字段 ...
- Mysql高手系列 - 第12篇:子查询详解
这是Mysql系列第12篇. 环境:mysql5.7.25,cmd命令中进行演示. 本章节非常重要. 子查询 出现在select语句中的select语句,称为子查询或内查询. 外部的select查询语 ...
- SQL关联子查询
SQL关联子查询执行顺序: 1.先取到主查询中的相关数据,一次取一行主查询的数据 2.然后传入子查询,进行子查询 3.最后做主查询where筛选,注意子查询的where条件同样需要加在主查询后 参考: ...
- sql server 2012 自定义聚合函数(MAX_O3_8HOUR_ND) 计算最大的臭氧8小时滑动平均值
采用c#开发dll,并添加到sql server 中. 具体代码,可以用visual studio的向导生成模板. using System; using System.Collections; us ...
- sql sever模糊查询和聚合函数
使用is null 的时候 要确保 查询的列 可以为空! null: 01.标识 空值 02.不是0,也不是空串"" 03.只能出现在定义 允许为null的字段 04.只 ...
随机推荐
- jQuery软键盘插件
1.html: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.or ...
- js判断MAC地址
function white_mac_FormCheck(mac) { var temp = /[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0- ...
- Eclipse中javascript文件 clg 变为console.log();
Eclipse中javascript文件 clg 变为console.log(); window>preferance>JavaScript>Editor>Templates ...
- 添加redo日志组和添加日志组多元化
查看redo日志组的状态和日志的位置. SQL> 没有被使用,所以切几次日志,组合4已生效. SQL> select * from v$log; GROUP# THREAD# SEQ ...
- HTML 布局
网站布局 大多数网站会把内容安排到多个列中(就像杂志或报纸那样). 大多数网站可以使用 <div> 或者 <table> 元素来创建多列.CSS 用于对元素进行定位,或者为页面 ...
- 安装使用GYP,并编译libpomelo2
1.然后是下载GYP,它是由 Chromium 团队开发的跨平台自动化项目构建工具,安装后可以使用其构建出libpomelo的vs工程项目,再而进行编译,这步先下载,地址: http://code.g ...
- python实现二分查找与冒泡排序
二分查找,代码如下: def binarySearch(l, t): low, high = 0, len(l) - 1 while low < high: 'print low, high' ...
- Centos6.5 mysql折腾记
1.yum安装mysql [root@localhost ~]# yum -y install mysql-server 安装结果 Installed: mysql-server.x86_64 0:5 ...
- js判断为空Null与字符串为空简写方法
下面就是有关判断为空的简写方法. 代码如下: if (variable1 !== null || variable1 !== undefined || variable1 !== '') { v ...
- ubuntu下包管理器apt-get常用命令
apt-cache search package 搜索包 apt-cache show package 获取包的相关信息,如说明.大小.版本等 sudo apt-get install package ...