SQL Server 2000程序设计 教学课件 ppt 作者 张鑫燕 主编 吴小松 副主编 第6章

上传人:E**** 文档编号:89186501 上传时间:2019-05-20 格式:PPT 页数:45 大小:667KB
返回 下载 相关 举报
SQL Server 2000程序设计 教学课件 ppt 作者 张鑫燕 主编 吴小松 副主编 第6章_第1页
第1页 / 共45页
SQL Server 2000程序设计 教学课件 ppt 作者 张鑫燕 主编 吴小松 副主编 第6章_第2页
第2页 / 共45页
SQL Server 2000程序设计 教学课件 ppt 作者 张鑫燕 主编 吴小松 副主编 第6章_第3页
第3页 / 共45页
SQL Server 2000程序设计 教学课件 ppt 作者 张鑫燕 主编 吴小松 副主编 第6章_第4页
第4页 / 共45页
SQL Server 2000程序设计 教学课件 ppt 作者 张鑫燕 主编 吴小松 副主编 第6章_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《SQL Server 2000程序设计 教学课件 ppt 作者 张鑫燕 主编 吴小松 副主编 第6章》由会员分享,可在线阅读,更多相关《SQL Server 2000程序设计 教学课件 ppt 作者 张鑫燕 主编 吴小松 副主编 第6章(45页珍藏版)》请在金锄头文库上搜索。

1、第6章 T-SQL 程序设计,返回首页,本章要点,T-SQL语言基础 SELECT查询语句 各种查询子句 流控制语句 系统内置函数 用户自定义函数,返回首页,6.1.1 常量 常量是指在程序运行过程中,其值不会变的量。常量包括字符型常量、整型常量、实型常量、日期型常量、货币常量等。 字符型常量是用单引号引起来的字符串,如平均值,This is Test,abcde等。 整型常量即整数常数,比如15,30,-200等。 实型常量即带小数点的常数,比如1.153,-23.52,1.395E3等。 日期型常量是日期常数,比如6/25/71,Jan 1 1900或May 19 1999等。 货币型常量

2、实际上也是数值性的数据,但是我们应该在前面加上美元符号$,比如$150.20,$92237203685477.58。,6.1 T-SQL 语言基础,返回首页,6.1.2 变量 变量是由用户定义并可赋值的实体。变量有全局变量和局部变量。全局变量由系统定义、维护,名字由两个符号开始。局部变量用DECLARE语句声明并且由SET语句或SELECT语句赋值,它只能用在声明该变量的过程体内,名字由一个符号开始。本节讲的是局部变量的操作。 局部变量的声明和赋值格式为: DECLARE Local_variable datatype,Local_variable datatype SET Local_var

3、iable=表达式 SELECT Local variable=表达式|SELECT子句 说明: DECLARE语句用于声明变量; Local_variable为所定义的变量名; datatype为所定义变量的数据类型。 SET语句和SELECT语句用于给变量Local_variable赋值。,6.1 T-SQL 语言基础,返回首页,【示例】下面定义两个变量var1、var2,并进行赋值: DECLARE var1 char(20),var2 int SET var1=”This is test!” SELECT var2=100 也可以使用DECLARE语句声明游标变量,它通过SELECT查

4、询语句定义游标的数据集合。定义之后,就可以使用OPON语句打开游标并进行单行操作。 【示例】定义一个游标变量Title_cursor: DECLARE Title_cursor SCROLL CURSOR FOR SELECT * FROM XSQK WHERE 专业=信息管理 游标变量的的具体使用请同学们参考后续章节。,6.1 T-SQL 语言基础,返回首页,6.1.3 数据类型 数据类型定义列、存储过程参数和局部变量所允许的数据值,它决定了数据的存储格式,代表着不同的信息类型。在SQL Server数据类型分系统数据类型和用户自定义类型。具体参见第3章,6.1 T-SQL 语言基础,返回首

5、页,6.1.4 运算符 运算符用来执行列间或变量间的数学运算或值的比较,SQL Server支持的运算符有算术运算符、比较运算符、字符串连接运算符、逻辑运算符。 1、算术运算符 算术运算符用于数字列或变量间的算术运算。算术运算符包括加(+)、减(-)、乘(*)、除(/)和取模(%)运算。 【示例】给整型变量Xueshi加1及与2的取模的操作如下: DECLARE Xueshi int SET Xueshi =100 SELECT Xueshi=Xueshi+1 SET Xueshi = Xueshi %2,6.1 T-SQL 语言基础,返回首页,2比较运算符 比较运算符用来比较两个表达式之间的

6、差别。SQL Server中可以在变量之间、列之间或同一类型的表达式之间进行比较。SQL Server中的比较运算符有:相等(=)、大于()、小于(=)、小于等于()。 【示例】下面语句列出课程学时数大于70的课程: SELECT * FROM XSKC WHERE 学时70 3字符串连接运算符 字符串连接运算符(+)连接字符串值,字符串的其它操作通过字符串函数实现。字符类型的数据都可以由字符串连接运算符操作。 【示例】用字符串连接运算符(+)实现连接: DECLARE var1 varchar(20) SET var1 =”This is test!” SET var1 = var1 +OK

7、 最后表达式的结果为”This is test!OK”。,6.1 T-SQL 语言基础,返回首页,4逻辑运算符 逻辑运算符主要用在WHERE语句中,用于连接检索条件。逻辑运算符有:与(AND)、或(OR)和非(NOT)。 【示例】下面语句列出课程学时数大于70且在第一学期开课的课程: SELECT * FROM XSKC WHERE 学时70 AND 开课学期=1 5运算符的优先级 如果使用多种运算符(逻辑的或算术的)连接表达式,SQL Server将按照运算符的优先级处理运算符。SQL Server中各种运算符的优先级从高到底如下所示: l 括号:(); l 按位求反:; l 乘、除、取模:

8、*、/、%; l 加减:+、-; l 逻辑非:NOT; l 逻辑与:AND; l 逻辑或:OR。,6.1 T-SQL 语言基础,返回首页,在SQL Server中,用SELECT语句实现对数据库的查询操作。同时,还可以使用各种子句对查询结果进行分组统计、合计、排序等等操作。SELECT语句还可以将查询结果生成另一个表。 6.2.1 SELECT的语句结构 SELECT语句的语法格式为: SELECT ALL |DISTINCT select_list INTO new_table_name FROM table_name|view_name(optimizer_hints) ,table_na

9、me2|view_name2(optimizer_hints) ,table_name16|view_name16(optimizer_hints) WHERE clause GROUP BY clause HAVING clause ORDER BY clause COMPUTE clause FOR BROWSE,6.2 查询语句SELECT,返回首页,说明: l select_list:所要查询的字段名称,它可以是从多个表中取出来的字段。 l INTO new_table_name:将查询结果放到一个新的临时表中,值得注意的是,若SELECT命令中有UNION子句,则INTO一定要放在第

10、一个SELECT 保留字之后。 l table_name|view_name:欲查询数据的表或视图的名称。 l Clause:欲查询数据的条件。 l GROUP BY:可把字段类别作统计处理。 l HAYING:功能如同WHERE,其不同在于可以再次过滤SELECT WHERE语句查询到的结果。 l ORDER BY:将查询结果以某字段或运算值作数据排序条件,再返回结果。 l COMPUTE:允许用一条SELECT命令同时查询数据,并作数据总计操作。,6.2 查询语句SELECT,返回首页,6.2.2 SELECT子句 SELECE语句select_list部分指定所选择的列,它可以是一组列名

11、、星号、表达式、变量等构成。 1、选择所有列 SELECT * 是用来进行数据检索的最基本的语句。* 可以代表表中所有的字段。查询结果将以在创建表或视图时的相问的字段顺序来显示。 【示例】要查询学生情况表(XSQK)中所有信息,可以通过下面的句子来实现: SELECT * FROM XSQK 2选择指定列并指定它们的显示次序 在实际应用中,可根据需要选择表中的某些列。在SELECT语句中指定列名来选择不同的列,列之间用逗号分隔,结果显示顺序为指定的列名顺序。 【示例】下面语句只显示学生情况表(XSQK)中专业名称和学生姓名: SELECT 专业,姓名 FROM XSQK,6.2 查询语句SEL

12、ECT,返回首页,注:在SELECT语句中,可以对数据列进行算术运算,此时,如果列值原来为空,则所有的运算执行完成后仍然为空。 【示例】给学生课程表(XSKC)中每门课程的学分加上10: SELECT 课程名,学分=学分+10 FROM XSKC 3指定列标题 在SELECT语句中,可以为所选择列指定标题。格式为: 列标题=列名 【示例】显示学生课程表(XSKC)中课程名和学时,并把学时列列名显示为“学时数”: SELECT 课程名, 学时数=学时 FROM XSKC 4删除重复行 SELECT 语句可以使用选项ALL|DISTINCT来显示所有行(ALL)或删除重复的行(DISTINCT),

13、默认为ALL。使用DISTINCT选项时,数据重复的行只显示一次。 【示例】设置显示学生情况表(XSQK)中的专业及的班级时,忽略语句如下: SELECT DISTINCT 专业, 班级 FROM XSQK,6.2 查询语句SELECT,返回首页,6.2.3 WHERE子句 SELECT语句可以使用WHERE子句指定查询条件。可以使用的运算符如下表所示:,6.2 查询语句SELECT,返回首页,1比较运算符 【示例】要查询学生课程表(XSKC)中课程学时数大于65的课程的课程号、课程名以及学时数: SELECT 课程号,课程名,学时 FROM XSKC WHERE 学时65,2范围运算符 范围

14、运算符BETWEENAND和NOT BETWEENAND用于判断值是否在指定范围内。 【示例】要查询学生课程表(XSKC)中课程学时数在65到80之内(包含65、80这两个数)的课程的课程号、课程名以及学时数: SELECT 课程号,课程名,学时 FROM XSKC WHERE 学时 BETWEEN 65 AND 80 3列表运算符 列表运算符NOT IN要求查询时表达式的值在(不在)列表项中。 【示例】要在学生情况表(XSQK)中查询专业为信息管理及会计的学生,则语句如下: SELECT 姓名,专业 FROM XSQK WHERE 专业 IN (信息管理,会计),6.2 查询语句SELECT

15、,返回首页,4模式匹配符 模式匹配符NOT LIKE一般情况用于模糊查询,它能够判断列值是否与指定的字符串格式相匹配。模式匹配符可用于字符和日期类型的数据。另外,在SQL Server中,可使用的通配符有: l 百分号“%”:匹配任意类型和长度的字符; l 下划线“_”:匹配单个任意字符; l 方括号“”:指定一个字符、字符串范围; l 上尖号“”:与方括号取值相同,但是要求所匹配对象为指定字符以外的任一字符。 【示例1】要在学生情况表(XSQK)中查询名字中有“王”字的学生的学号与姓名: SELECT 学号,姓名 FROM XSQK WHERE 姓名 LIKE %王% 【示例2】要在学生情况

16、表(XSQK)中查询姓“王、杨、李、张”的学生的学号与姓名: SELECT 学号,姓名 FROM XSQK WHERE 姓名 LIKE 王杨李张%,6.2 查询语句SELECT,返回首页,5空值判断符 空值指的是没有值,而不是空格或0,对空值的判断必须用空值判断符 IS NOT NULL。 【示例】要在学生情况表中查询总学分为空值的学生的学号和姓名: SELECT 学号,姓名 FROM XSQK WHERE 总学分 IS NULL 6逻辑运算符 逻辑运算符用于WHERE子句中多个查询条件的连接。其中NOT用于对一个表达式取反,可以与LIKE、BETWEEN、IN、NULL等一起使用;AND用于两个条件的逻辑与;OR用于

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号