SQL Server2008 学习之(九) :select语句及其子句的基本操作

2017-11-24 19:44:21来源:CSDN作者:s1314_JHC人点击

分享
这篇博客主要是使用T-SQL语句进行数据库操作。包括简单的select语句,where、Order by、Group by子句等操作。

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.Personwhere FirstName='Terri'     //where限定人名的FirstName即可,如下左图
可以看到,左图中有两个人的名字符合where限定,如果要继续选定某一个具体的人,可以在where子句中设置“and”连接符,输入select from Person.Personwhere FirstName='Terri' and MiddleName='Lee'即可,如下右图。有“and”就有“or”,可自行探索!     

3.排序(Order by)在筛选数据库的时候,很多时候需要对数据进行排序,以便更好地查看,这时就涉及到排序操作以2中左图为例,在筛选完数据后,有两个满足条件的数据,若要把他们的编号按照升序排列,需要用到order by语句,输入select from Person.Personwhere FirstName='Terri'order by BusinessEntityID ASC          //默认升序,也可以用ASC代表升序,DESC代表降序即可进行排序,如下图。(注:如果用order by的结果中有几个相同的值,还可以设置别的条件进行二次排序,即在第一个限定条件处加“,”在添加第二个限定语句)


4.分组(Group by)
在很多时候,筛选出来的数据会有许多个组,如果要统计不同组对应的平均值等信息,需要用到分组操作,用一个例子来解释。下图是一个很好的分组案例,选取了表中SalesOrderID<43700的数据,统计各个TerritoryID的平均TotalDue,就可以使用分组操作。


输入select TerritoryID,AVG(TotalDueas 收益 from Sales.SalesOrderHeader     //根据TerritoryID对上表中的TotalDue进行取平均值,得出的结果存在新列“收益”中where SalesOrderID<43700group by TerritoryID                  //以TerritoryID作为分组依据即可,结果如下图


微信扫一扫

第七城市微信公众平台