SQL Server2008 学习之(九) :select语句及其子句的基本操作
来源:互联网 发布:知乎装修精华帖 编辑:程序博客网 时间:2024/05/20 13:04
这篇博客主要是使用T-SQL语句进行数据库操作。包括简单的select语句,where、Order by、Group by、having子句等操作。
1.简单的select语句操作
select语句的语法操作见下图,可以借助之后的代码来理解。
查询所有列的所有值,在新建查询中输入
select * from Person.Address //*代表所有列
即可,见下左图
查询部分列,输入要查询的部分列(AddressID,City以逗号为间隔)
select AddressID,City from Person.Address
即可,见下右图
用select语句作为计算器,输入要计算的数
select 14*43 as 计算结果 //把14*13保存在新建的列“计算结果”中
即可,见下左图
用select语句把数据表中的某几列保存在新表中,输入
select AddressID,City as 地址 from Person.Address //把Person.Address表中的AddressID,City数据取出,存入“地址”表中
即可,见下右图
用select语句把数据表中某列的重复信息剔除,输入
select DISTINCT City from Person.Address //DISTINCT关键字表示City中不允许出现两组相同的数据
即可 ,见下图
2.设置查询条件(where子句)
在查询过程中,有时会加上一些限定条件,比如性别或者具体的名字信息,以达到检索目的,这是就需要使用where子句
以AdventureWorks2012中的Person.Person为例,在新建查询中输入
select * from Person.Person
where FirstName='Terri' //where限定人名的FirstName
即可,如下左图
可以看到,左图中有两个人的名字符合where限定,如果要继续选定某一个具体的人,可以在where子句中设置“and”连接符,输入
select * from Person.Person
where FirstName='Terri' and MiddleName='Lee'
即可,如下右图。有“and”就有“or”,可自行探索!
3.排序(Order by)
在筛选数据库的时候,很多时候需要对数据进行排序,以便更好地查看,这时就涉及到排序操作
以2中左图为例,在筛选完数据后,有两个满足条件的数据,若要把他们的编号按照升序排列,需要用到order by语句,输入
select * from Person.Person
where FirstName='Terri'
order by BusinessEntityID ASC //默认升序,也可以用ASC代表升序,DESC代表降序
即可进行排序,如下图。(注:如果用order by的结果中有几个相同的值,还可以设置别的条件进行二次排序,即在第一个限定条件处加“,”在添加第二个限定语句)
4.分组(Group by)
在很多时候,筛选出来的数据会有许多个组,如果要统计不同组对应的平均值等信息,需要用到分组操作,用一个例子来解释。
下图是一个很好的分组案例,选取了表中SalesOrderID<43700的数据,统计各个TerritoryID的平均TotalDue,就可以使用分组操作。
输入
select TerritoryID,AVG(TotalDue) as 收益 from Sales.SalesOrderHeader //根据TerritoryID对上表中的TotalDue进行取平均值,得出的结果存在新列“收益”中
where SalesOrderID<43700
group by TerritoryID //以TerritoryID作为分组依据
即可,结果如下图
5.having子句
having子句只有在查询语句中包含了group by语句时才能使用。可以将已分组的数据进行筛选,以上表为例,territoryID为1到7的组对应的收益情况如表所示,要想统计收益大于等于10000的数据,可以输入
selectTerritoryID,AVG(TotalDue)as收益fromSales.SalesOrderHeader
whereSalesOrderID<43700
groupbyTerritoryID
havingAVG(TotalDue)>=10000 //对TotalDue进行限定
即可,结果如下
阅读全文
0 0
- SQL Server2008 学习之(九) :select语句及其子句的基本操作
- SQL Server2008 学习之(六) :视图的创建、修改等基本操作
- SQL语言基础--select语句的各个子句(一)
- MYSQL语句之Select子句
- Oracle数据库 —— SQL之select语句(2) where子句和数据排序
- 基本的SQL SELECT语句
- Select语句的基本操作
- SQL语言基础--select语句各个子句(二)
- SQL学习之:SELECT 语句
- SQL基本语句及其使用方法之【CREATE/SELECT/ALTER/DROP/GROUP BY】
- SQL select的from 子句
- SQL Server2008 学习之(十一) :有趣的内外连接
- sql语句之where子句
- 基本 SQL SELECT 语句
- (MySQL笔记)SELECT语句的WHERE子句详解
- (MySQL笔记)SELECT语句的FROM子句详解
- (MySQL笔记)SELECT语句的WHERE子句详解
- SQL语句的基本操作(常用)
- Openssl 通用型 对称加密模型
- bzoj1458 士兵占领(最大流)
- C++异常处理
- 最简单的 GitExtensions 教程(持续更新中)
- Caffe安装要点:Ubuntu 16.04+双GTX1080+Opencv3.3+Anaconda3
- SQL Server2008 学习之(九) :select语句及其子句的基本操作
- 同一台服务器,安装两个Tomcat,同一路径不同端口号,同一浏览器下不能同时访问问题
- ogg中filter用法
- nginx的配置
- java设计模式之单例模式
- 安装部署Python(win7环境)
- Springboot Gitlab Jenkins Maven Docker 持续集成/持续交付
- 日常记录(1)
- 俄罗斯“海盗党”向NASA伸出了技术援手