文档介绍:第五章 Transact-SQL数据查询与更新
假如有人提出这样的一些需求,我们如何处理呢
1、我希望将学生基本信息中的姓名,家庭住址,联系电话单独放入一个新表中保存
2、我想统计不同政治面貌的人数
3、后勤处想知道表中有几种少数民族,方便安排伙食.
4、我有个熟人叫马某某,是男同学,名字是两个字的,帮我查查
1
第五章 Transact-SQL数据查询与更新
§ 简单数据查询
§ 分组查询
§ 联接查询
§ 子查询
§ 联合查询
§ 排名函数
§ 数据更新
§ 事务
2
学生基本信息表
第五章 Transact-SQL数据查询与更新
学生基本信息表
3
成绩表
一个学生
各门课程
各门课程的成绩
4
系部表
课程信息表
5
§ 简单数据查询
SELECT select_list
[ INTO new_table ]
FROM table_source
[ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]
[ ORDER BY order_expression [ ASC | DESC ] ]
[COMPUTE 子句]
6
§ 简单数据查询
SELECT各子句执行顺序及功能简介:
(1)  SELECT子句:用于指定输出列(字段),也可求值输出。
(2)  INTO子句:将检索结果存储到新表或视图中。
(3)  FROM子句:用于指定检索数据的源表或视图。
(4)  WHERE子句:指定选择行(记录)的过滤条件。
(5) GROUP BY:子句对检索到记录进行分组。
(6)  HAVING子句:系指定记录辅助过滤条件,从分组的结果中筛选行,即选取满足条件的那些组。
(7)  ORDER BY子句:是对检索到数据进行排序;ASC 和 DESC 关键字用于指定行是按升序还是按降序排序,默认升序。
7
§ 简单数据查询
例:使用 SELECT 语句查找学生基本信息表中回族同学的姓名和家庭住址,按出生日期降序排列。
SELECT 姓名,家庭住址
FROM 学生基本信息表
WHERE 族别=‘回族’
ORDER BY 出生日期 DESC
Select - from - where -
8
§ 简单数据查询
5-1 SELECT子句和FROM子句
1、语法
SELECT [ ALL | DISTINCT ]
[ TOP n [ PERCENT ] [ WITH TIES ] ]
< select_list >
l         ALL关键字:为默认设置,用于指定查询结果集的所有行,包括重复行。
l         DISTINCT: 用于删除结果集中重复的行。
l         TOP n [ PERCENT ]: 指定只返回查询结果集中的前n行。如果加了PERCENT,则表示只返回查询结果集中的前n%行。
WITH TIES 用于指定从基本结果集中返回附加的行。
9
§ 简单数据查询
2、选择列
(1)选择所有列* (2)选择指定列,各列之间用逗号分隔。
3、在查询结果集中加入常量,字符“-”将名称的两个部分分开。
Select 课程编号+‘-’+课程名称 from 课程信息表
(说明:字段间用加号表示将字段值合并为一列,‘-’也可改为其他)
4、为选择列指定别名
列表达式 as 列别名
或列表达式列别名
或列别名=列表达式
Select avg(成绩) as 平均成绩 from 成绩表
10