资源描述:
《第2章 使用TransactSQL语言课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章使用Transact-SQL语言2.1Transact-SQL概述结构化查询(SQL,)语言是一种用于存取、查询数据以及管理数据库的数据库查询和编程语言。Transact-SQL是ANSISQL-92的扩展集,在标准SQL语言的基础上扩充了许多新的功能。SQL语言由以下三部分组成数据定义语言(DDL)用来定义和管理数据库对象,包括:CREATE、ALTER、DROP等语句。数据操纵语言(DML)用于查询和操作数据表中的数据,包括:SELECT、INSERT、UPDATA、DELETE等语句。数据控制语言(DCL
2、)用于控制对数据库对象操作的权限,包括:GRANT、REVOKE等语句。2.2 查询与统计数据SELECT语句的格式:SELECT[ALL
3、DISTINCT][TOPexpression[PERCENT][WITHTIES]][INTOnew_table][FROM{}[,...n]][WHERE][GROUPBY[ALL]group_by_expression[,...n][WITH{CUBE
4、ROLLUP}][HAVING<
5、search_condition>][ORDERBYorder_expression[ASC
6、DESC]][COMPUTE {{AVG
7、COUNT
8、MAX
9、MIN
10、SUM}(expression)}[,...n]][BYexpression[,...n]]参数说明如下:SELECT子句用于指定所选择的要查询的特定表中的列,它可以是星号(*)、表达式、列表、变量等。INTO子句用于指定所要生成的新表的名称。FROM子句用于指定要查询的表或者视图,最多可以指定16个表或者视图,用逗号相互隔开。WHERE子句用来限定查询的
11、范围和条件。GROUPBY子句是分组查询子句。HAVING子句用于指定分组子句的条件。GROUPBY子句、HAVING子句和集合函数一起可以实现对每个组生成一行和一个汇总值。ORDERBY子句可以根据一个列或者多个列来排序查询结果,在该子句中,既可以使用列名,也可以使用相对列号。ASC表示升序排列,DESC表示降序排列。COMPUTE子句使用集合函数在查询的结果集中生成汇总行。COMPUTEBY子句用于增加各列汇总行。1、使用星号(*)或列名例1:select*fromcourse功能:查询课程表中所有课程的信息。例
12、2:selectkindfromcourse功能:查询课程表中课程类别的信息。2、使用DISTINCT消除重复值例3:selectdistinctkindfromcourse功能:查询课程表中课程类别的信息,并消除值相同的行。3、使用TOPn[PERCENT]仅返回查询结果集的前n(n%)行。例4:selecttop6*fromstudentgo功能:返回查询结果集的前6行。4、改变查询结果列的标题例5:①select‘系部编号’=departno,‘系部名称’=departnamefromdepartment②se
13、lectdepartno‘系部编号’,departname‘系部名称’fromdepartment③selectdepartnoas‘系部编号’,departnameas‘系部名称’fromdepartment5、在查询结果中显示字符串例6:select‘课程名称’=couname,‘课程编号为:’,‘课程编号’=counofromcourse功能:在课程编号列前面增加指定字符串6、使用WHERE限制查询条件例7:select*fromstudentwhereclassno=‘20000002’功能:查询班号为‘20
14、000002’的全体学生的相关信息。7、表达式作为查询列例7:select*,willNum/limitnumfromcourse功能:查询课程表中的全部信息及报名人数与限选人数之比。8、使用ORDERBY子句排序例9:select*fromcourseorderbywillnum9、使用IN子句给出列值范围例10:select*fromcoursewherecounoin(‘004’,’007’,’013’)功能:只查询指定课程编号的课程信息10、使用LIKE实现模糊查询例11:select*fromcoursew
15、herecounamelike‘中%’功能:查询名称以‘中’开头的课程信息模糊查询中使用的通配符通配符说明_表示任意单个字符%表示任意长度的字符串[]与特定范围(例如,[a-f])或特定集(例如,[abcdef])中的任意单字符匹配。[^]与特定范围(例如,[^a-f])或特定集(例如,[^abcdef])之外的任意单字符匹配。11、使用ISN