第09讲数据库查询.ppt

数据库原理与应用教程 ―SQL Server 第9章 数据库查询 所谓查询,就是对已经存在于数据库中的数据按特定的组合、条件或次序进行检索。查询功能是数据库最基本也是最重要的功能。 9.1基本查询 使用T-SQL语言实现查询 SELECT语句的语法如下: SELECT select_list [INTO new_table_name ] FROM table_list [ WHERE search_conditions ] [ GROUP BY group_by_list ] [ HAVING search_conditions ] [ ORDER BY order_list [ ASC | DESC ] ] 9.1基本查询 其中各参数的含义如下: ①select_list 描述结果集的列,它指定了结果集中要包含的列的名称,是一个逗号分隔的表达式列表。 ②INTO new_table_name 指定使用结果集来创建新表。new_table_name指定新表的名称。 ③FROM table_list 指定要从中检索数据的表名或视图名。 ④WHERE search_conditions WHERE子句是一个筛选条件,它定义了源表中的行要满足SELECT语句的要求所必须达到的条件。 ⑤GROUP BY group_by_list GROUP BY子句根据group_by_list列中的值将结果集分成组。 ⑥HAVING search_conditions HAVING子句是应用于结果集的附加筛选,用来向使用GROUP BY子句的查询中添加数据过滤准则。 ⑦ORDER BY order_list[ ASC | DESC ] ORDER BY子句定义了结果集中行的排序顺序。 9.1.1 简单查询 1、投影查询 通过SELECT语句的select_list项组成结果表的列。 选择列的查询格式: SELECT [ ALL | DISTINCT ] [ TOP n [ PERCENT ] [ WITH TIES ] ] { * /*选择当前表或视图的所有列*/ | { table_name | view_name | table_alias } .* /*选择指定的表或视图的所有列*/ | { colume_name | expression | IDENTITYCOL | ROWGUIDCOL } [ [ AS ] column_alias ] /*选择指定的列*/ | column_alias = expression /*选择指定列并更改列标题*/ } [ , … n ] 1、投影查询 参数含义: ①ALL:指定显示所有记录,包括重复行。ALL是默认设置。 ②DISTINCT:指定显示所有记录,但不包括重复行。 ③TOP n [PERCENT]:指定从查询结果中返回前n行。 ④select_list:指定返回结果中的列。如果有多个列,用逗号分隔。 ⑤*:表示所有列。 ⑥column_name:指定是要返回的列名。 ⑦expression:是列名、常量、函数以及由运算符连接的列名、常量和函数的任意组合,或者是子查询。 (1)选择一个表中指定的列 使用SELECT语句选择一个表中的某些列,各列名之间要以逗号分隔。 【例9-1】查询 “教学库”数据库“学生”表的姓名、性别和专业 USE 教学库 SELECT 姓名,性别,专业 FROM 学生 查询结果如图所示。 【例9-2】查询 “教学库”数据库“课程”表中所有纪录 USE 教学库 SELECT * FROM 课程 用“*”表示表中所有的列, 按用户创建表格时声明列的顺序来显示所有的列。 【例9-3】查询 “教学库”数据库“学生”表的专业名称,去掉重复行。 USE 教学库 SELECT DISTINCT专业 FROM 学生 【例9-4】查询 “教学库”数据库“课程”表前三行信息。 USE 教学库 SELECT top 3 * FROM 课程 查询结果如图所示。 【例 9-5】查询 “教学库”数据库“课程”表前50%。 USE 教学库 SELECT top 50 percent * FROM 课程 查询结果如图所示。 (2)修改查询结果中的列标题 T-SQL提供了在SELECT语句中操作列名的方法。用户可以根据实际需要对查询数据的列标题进行修改,或者为没有标题的列加上临时的标题。 常用的方式: ①在列表达式后面给出列名。 ②用“=”来连接列表达式。 ③用AS关键字来连接列表达式和指定的

文档评论(0)

1亿VIP精品文档

相关文档