数据查询基础

  ——疼说明你还活着,想不通说明你还在思考,不要放弃,再坚持一下,你已经在路上

本章目标:

  1.理解查询的机制

  2.使用SELETE语句进行调节查询

  3.掌握查询排序

  4.使用表达式、运算符和函数实现查询

  T-SQL查询机制

  查询是针对表中已经存在的数据行而言的,可以简单的理解为”筛选“,将符合条件的数据抽取出来。

  数据表在接受查询请求的时候,可以简单的理解为”它将逐行判断“,判断是否符合查询条件。如果符合查询条件就提取出来,然后把所有被选中的行组织在一起,形成另外一个类似于表的结构,构成查询的结果,通常叫做记录集(RecordSet)。

  由于记录集的结构实际上和表的结构类似,都是有行组成的,因此在记录集上依然可以进行再次查询。

  使用SELECT 语句进行查询

语法:

SELECT <列名>
FROM <表名>
WHERE <查询条件表达式>
[WHERE <查询条件表达式>]
[ORDER BY <排序的列名>[ASC 或 DESC]]

其中,WHERE条件是可选的,若不限制,则查询返回所有行的数据项。ORDER BY是用来排序的。

  1.查询所有的数据行和列

  把表中所有行和列都列举出来比较简单,这时候可以使用”*“标示所有的列

SELECT * FROM Students

  2.查询部分行和列

  查询部分列需要列举不同的列名,而查询部分行需要使用WHERE子句进行条件限制,例:

SELECT SCode,SName,SAddress
FROM Students
WHERE SAddress = ’北京‘

  3.在查询中使用列的别名

  AS子句可以用来改变结果集中的列的名称,也可以为组合或者计算出的列指定名称。

SELECT SCode AS 学生编号,SName AS 学生姓名,SAddress AS 学生地址
FROM Students
WHERE SAddress <> '北京'

  4.查询空值

  在SQL语句中采用”IS NLL“ 或者 ”IS NOT NULL“ 来判断是否为空。

例:查询学生表中没有填写E-mail信息的学生,可以使用一下查询语句。

SELECT SName FROM Students WHERE SEmail IS NLL

  5.在查询中使用常量列

  有时候,需要将一些常量的默认信息添加到查询输出中,以方便统计或计算。

例:查询学生信息的时候,学校名称统一都是’北京‘

SELECT 姓名=SName,地址=SAddress,’北京‘ AS 学生名称
FROM Students

  6.查询返回限制的行数

  一些查询需要返回限制的行数,没有必要查询输出全部的数据,以提高查询速度,这是就要用到限制返回行数的查询。

在T-SQL,限制行数使用TOP关键字来约束。

例:查询返回众多学生记录中前五位女生的姓名和地址

SELECT TOP 5 SName, SAddress
FROM Students WHERE SSex = 0

  查询排序

  如何使用ORDER BY

  如果需要按照一定顺序排列查询语句中的行,则需要使用ORDER BY 子句,并且排序可以是升序(ASC)或者降序(DESC)。如果不指定ASC或者DESC,结果按默认ASC升序排列。

 例:查询学生成绩的时候,如果把所有的成绩都降低10%后加5分,在查询几个成绩并按照成绩高低来进行排序

SELECT StudentID AS 学生编号,(SCORE*0.9+5) AS 综合成绩
FROM Score
WHERE (Score*0.9+5) >60
ORDER BY Score

  在查询中使用函数

  SQL Server提供了一些内部行数,每个函数都实现不同的功能,不同类型的行数都可以和SELECT、UPDATE、INSERET语句联合使用。

  常用的有四类函数,分别是字符串函数、日期函数、日期函数、数学函数、系统函数。

  字符串函数:字符串函数用于对字符串数据进行处理,并返回一个字符串或数字。

  日期函数:日期函数用于操作日期值,不能直接对日期运用数学函数。日期函数帮助提前日期值中的日、月及年,以便分别操作它们。

  数学函数:数学函数用于对数值类型数据进行处理,并返回处理结果。

  系统函数:系统函数用来获取有关SQL Server中对象和设置的系统信息。

  

                                        2015年11月4日23:37:53

原文地址:https://www.cnblogs.com/cnsdhzzl/p/4937836.html