【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.只 ...
随机推荐
- Servlet 异步处理
web容器会为每个请求分配一个线程,Servlet3.0新增了异步处理,解决多个线程不释放占据内存的问题.可以先释放容器分配给请求的线程与相关资源,减轻系统负担,原先释放了容器所分配线程的请求,其响应 ...
- MySQL主从同步校验与重新同步
主从复制环境中,可能有种种原因导致主.从库数据不一致的情况,主从一致性也一直是DBA需要关注的问题,校验MySQL的主从一致性一般有多种工具,诸如MySQL自带的checksum.mysqldiff. ...
- python py_innodb_page_info.py -v /usr/local/var/mysql/ibdata1
mylib.py #encoding=utf-8 import os import include from include import * TABLESPACE_NAME='D:\\mysql_d ...
- Intent的属性及Intent-filter配置——Extra属性——Flag属性
Intent的Extra属性通常用于在多个Action之间进行数据交换,Intent的Extra属性值应该是一个Bundle对象,Bundle对象的就像一个Map对象,它可以存入多组key-value ...
- java中Integer比较需要注意的问题
java中Integer比较需要注意的问题 package com.srie.test; import java.util.HashMap; import java.util.Map; public ...
- JS插件库
http://www.cnblogs.com/xiaoyao2011/category/327551.html
- ZooKeepr日志清理
http://blog.csdn.net/xiaolang85/article/details/21184293
- 实现一个类 Vue 的 MVVM 框架
Vue 一个 MVVM 框架.一个响应式的组件系统,通过把页面抽象成一个个组件来增加复用性.降低复杂性 主要特色就是数据操纵视图变化,一旦数据变化自动更新所有关联组件~ 所以它的一大特性就是一个数据响 ...
- WinForm 制作一个简单的计算器
namespace WindowsFormsApplication6 { public partial class Form1 : Form { //存储上次点击了什么按钮,0代表什么都没有点击,1代 ...
- java_JDBC(1)
Java连接Oracle步骤: 1.注册加载驱动 驱动名:DRIVER="oracle.jdbc.driver.OracleDriver";Class.forName(" ...