《SQL Server应用开发》
第四章 数据查询I
l 本章主要目的
n 理解查询的机制
n 使用select语句进行条件查询
n 在查询中返回限制行
n 进行查询排序
n 在查询中使用表达式,运算符和函数
l 本章重点
n top
n where字句
n 查询排序
l 本章难点
n 使用函数,查询业务的分解和总和使用
2. 课程知识点讲解
2.1. T_SQL查询基础:[30分钟]
级别:【中】
知识点的引入:
查询是程序中最常见的操作,是对已经在于数据库表中的数据进行提取,这种提取可能有特定的要求――而不是源员本本第把表的所有数据都取出来。首先是程序向数据库发送能够识别的正确的sql语句。然后数据库在根据查村要求
讲解:
查询和记录集:
数据表在接受查询请求的时候,可以简单地理解为它将逐行选取,判断是否符合查询的条件。如果符合就取出来,然后把所有的被选择的行组织在一起,形成另外一个“类似于表的结构”,这便是查询结果。我们通常叫做“记录集”
使用select语句进行查询:
最简单的select语句格式可以表示为:
Select<列名> from<表名> [where <查询条件表达式>][order by <排序的列名>[asc或者desc]]
查询分以下几种情况:
1、 查询所有的数据行和列:
Select * from students
从学员表中查询出所有的数据,这里要使用通配符 “ * ”
2、 查询部分行列――条件查询
查找家在北京的学员
Select * from student where address=‘北京市’
3、 查询部分行列――条件查询
a) Select stuId,stuName,stuSex form student
b) Select stuId,stuName,stuSex from student where address=‘北京市’
4、 查询空行
Select * from students where address is null
判断哪个选项没有添上,可以使用is null 来判断。
5、 查询返回限制的行数
可以使用top关键字来约束,例如要查询返回前5位学员的信息
Select top 5 * from student
Select top 5 * from student where address=’北京市’
总结:
查询语句可以有以下几种情况
1/查询所有的数据
2/查询部分行列――条件查询
3/查询空行
4/查询返回限制的行数
检验:
使用学员表
1 查询姓名为‘张三’的学员
2 查询地址没有添的学员
3 查询年龄较大的前10条记录
2.2. 查询排序:[30分钟]
级别:【中】
知识点的引入:
我们查询出来的记录,有时候需要按照一定的顺序排列查询选中的行,需要使用order by子句。
讲解:
ORDER BY 子句按照一定的字段排列,并且排列可以升序或降序,如果不指定,记录集按asc升序排列。
案例:
例如:根据学员年龄从达到小排列记录
Select * from student order by age desc
Select * from student order by stuId,age
总结:
可以对多个字段进行排序,规则是先根据前一个字段排序,如果有相同的数据,在根据第二个字段排序。
检验:
在成绩表中查询出分数在60分以上的,按成绩从大到小排列
Select * from score where chengji >=60 order by chengji desc