SQL查询入门(上篇) (二)

2014-11-24 13:11:40 · 作者: · 浏览: 1
Gender IS NULL
将上面语句加入进去,则不会再丢失数据。

排序结果

上面的那些方法都是关于取出数据,而下面是关于将取出的子集进行排序。SQL通过Order by子句来进行排序,Order by子句是Sql查询语句的最后一个子句,也就是说Order by子句之后不能再加任何的子句了。

Order By子句分为升序(ASC)和降序(DESC),如果不指定升序或者降序,则默认为升序(由小到大),而Order by是根据排序依据的数据类型决定,分别为3种数据类型可以进行排序:

  1. 字符
  2. 数字
  3. 时间日期

字符按照字母表进行排序,数字根据数字大小排序,时间日期根据时间的先后进行排序。

其它一些有关的

视图

视图可以看作是一个保存的虚拟表,也可以简单看做是保存的一个查询语句。视图的好处是视图可以根据视图所查询表的内容的改变而改变,打个比方来理解这句话是:

12

使用视图的优点是可以对查询进行加密以及便于管理,据说还可以优化性能(我不认可这点).

防止重复

有时候我们对于取出的数据子集不想重复,比如你想知道一些特定的员工一共属于几个部门

SELECT [EmployeeID]
      ,[DepartmentID]
  FROM [AdventureWorks].[HumanResources].[EmployeeDepartmentHistory]

15

这样的结果是没有意义的,SQL提供了Distinct关键字来实现这点:

SELECT distinct DepartmentID
  FROM [AdventureWorks].[HumanResources].[EmployeeDepartmentHistory]

16

聚合函数

所谓聚合函数,是为了一些特定目的,将同一列多个值聚合为一个,比如我想知道一群人中最大年龄是多少可以利用MAX(Age),比如我想知道一个班级平均测验成绩是多少可以用AVG(Result)……

总结

文章简单概述了SQL查询的原理以及简单的单表查询,这些都是数据库查询的基础概念,对于进行复杂查询来说,弄明白这些概念是必不可少的。

作者 CareySon