SQL Server 2005实用教程教学课件李伟红第5章表中数据的操作

上传人:w****i 文档编号:94557440 上传时间:2019-08-08 格式:PPT 页数:58 大小:186.50KB
返回 下载 相关 举报
SQL Server 2005实用教程教学课件李伟红第5章表中数据的操作_第1页
第1页 / 共58页
SQL Server 2005实用教程教学课件李伟红第5章表中数据的操作_第2页
第2页 / 共58页
SQL Server 2005实用教程教学课件李伟红第5章表中数据的操作_第3页
第3页 / 共58页
SQL Server 2005实用教程教学课件李伟红第5章表中数据的操作_第4页
第4页 / 共58页
SQL Server 2005实用教程教学课件李伟红第5章表中数据的操作_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《SQL Server 2005实用教程教学课件李伟红第5章表中数据的操作》由会员分享,可在线阅读,更多相关《SQL Server 2005实用教程教学课件李伟红第5章表中数据的操作(58页珍藏版)》请在金锄头文库上搜索。

1、第5章 表中数据的操作,本章学习目标,掌握如何在SQL Server管理控制台中操作表中的数据 掌握使用SELECT语句查询数据的方法 掌握使用INSERT语句插入数据的方法 掌握使用UPDATE语句更新数据的方法 掌握使用DELETE语句删除数据的方法,5.1 在SQL Server管理控制台中操作表中的数据,表中数据的操作包括数据的查询、插入、修改和删除。可以在SQL Server管理控制台中非常方便地对数据执行各种操作,也可以利用Transact-SQL中的命令完成相应的功能。 在SQL Server管理控制台中,打开指定的数据库并展开“表”对象,右击要操作的数据表,并从弹出的快捷菜单中

2、选择“打开表”选项,就会看到数据表数据显示结果窗口。,5.1 在SQL Server管理控制台中操作表中的数据,将光标定位到最后一条记录后面,输入新的记录就可以完成插入操作;将光标定位到某条记录,改变某个数据的值就可以完成更新操作;右击某条记录,从弹出的快捷菜单中选择“删除”选项就可以完成记录的删除操作。,5.2 查询数据,SELECT语句可以根据实际需要从一个或多个表中选择一个或多个行或列。 SELECT select_list INTO new_table FROM table_source WHERE search_condition GROUP BY group_by_expressi

3、on HAVING search_condition ORDER BY order_expression ASC | DESC ,5.2 查询数据,在SELECT语句中至少要包含两个子句:SELECT和FROM。SELECT指定查询的某些选项,FROM指定查询的表。例如:查询T_STUDENT表中所有的数据,可以写为: SELECT * FROM T_STUDENT,5.2.1 SELECT子句,SELECT子句的语法格式为: SELECT ALL | DISTINCT TOP n PERCENT WITH TIES := *| table_name | view_name | table_a

4、lias .* column_name | expression | IDENTITYCOL | ROWGUIDCOL AS column_alias | column_alias = expression ,.n ,5.2 查询数据,ALL:指定显示所有记录,包括重复行。ALL是默认设置。 DISTINCT:指定显示所有记录,但不包括重复行。 TOP n PERCENT:指定从查询结果中返回前n行。 select_list:指定返回结果中的列。如果有多个列,用逗号分隔。,5.2 查询数据,*:表示所有列。 column_name:指定是要返回的列名。 expression:是列名、常量、函数

5、以及由运算符连接的列名、常量和函数的任意组合,或者是子查询。,5.2 查询数据,例5-2-1:(1)查询表中的所有记录 (2)查询前3条记录的S_NUMBER、S_NAME和BIRTHDAY字段 (3)查询所有记录的SEX字段,并去掉重复值 (4)查询所有记录的S_NUMBER(别名为学号)、S_NAME(别名为姓名)和BIRTHDAY(别名为出生日期)字段,5.2 查询数据,别名的三种定义方法,分别为: 列别名=列名 列名 AS 列别名 列名 列别名 注意:列别名的使用范围:列别名只在定义的语句中有效。,5.2 查询数据,(5)查询得到每个学生的年龄 (6)统计男同学的人数,5.2.2 IN

6、TO子句,INTO 子句用于创建新表并将查询结果插入新表中,其语法为: INTO new_table 其中的参数new_table用于指定新表的名称。 例5-2-2:使用INTO子句创建一个新表(T_STUDENT1)。,5.2.3 FROM子句,FROM子句用于指定要查询的表,其语法如下: FROM ,.n :=table_name AS table_alias WITH ( ,.n ) | view_name AS table_alias | rowset_function AS table_alias | OPENXML| derived_table AS table_alias ( c

7、olumn_alias ,.n ) | ,5.2.3 FROM子句,:=ON| CROSS JOIN | := INNER | LEFT | RIGHT | FULL OUTER JOIN,5.2.3 FROM子句,其中的参数说明如下: :指定用于SELECT语句的表、视图、派生表和联接表。 table_name AS table_alias :指定表名和可选别名。 view_name AS table_alias :指定视图和可选别名。 :定义两个或多个表的积联合。 :指定联合操作的类型。,5.2.3 FROM子句,INNER:指定返回参与联合的数据表中所有相匹配的行,丢弃两个表中不匹配的行

8、。如果不指定联接类型,则这是默认设置。 LEFT OUTER:指定返回参与联合的数据表中所有相匹配的行和所有来自左表的不符合指定条件的行。,5.2.3 FROM子句,RIGHT OUTER:指定返回参与联合的数据表中所有相匹配的行和所有来自右表的不符合指定条件的行。 FULL OUTER:指定返回参与联合的数据表中所有相匹配的行和所有来自左、右表的不符合指定条件的行。,5.2.3 FROM子句,JOIN:表示所指定的数据表或视图需要进行联合。 ON :指定联合的条件。 例5-2-3:查询表T_SCORE和表T_STUDENT中的数据,满足条件: T_STUDENT.S_NUMBER=T_SCO

9、RE.S_NUMBER,5.2.4 WHERE子句,WHERE子句是条件子句,用来限定查询的内容。其语句格式如下: WHERE search_condition:指定搜索条件。,5.2.4 WHERE子句,在WHERE子句中可以使用比较运算符或逻辑运算符连接起来的表达式。表达式是符号和运算符的一种组合,SQL Server 2005数据库引擎将处理该组合以获得单个数据值。简单表达式可以是一个常量、变量、列或标量函数。可以用运算符将两个或更多的简单表达式连接起来组成复杂表达式。,5.2.4 WHERE子句,1使用比较运算符连接的表达式 expression operator expression

10、 expression:可以是列名、常量、函数、变量、标量子查询,或者是由运算符或子查询连接的列名、常量和函数的任意组合。该表达式还可以包含CASE函数。,5.2.4 WHERE子句,Operator:比较运算符。WHERE子句中允许出现的比较运算符有: =(等于) (大于) =(对于等于) (不等于) !(不大于) !(不小于) !=(不等于) 例5-2-4:从表T_SCORE中查询不及格学生的信息。,5.2.4 WHERE子句,2逻辑表达式 在Transact-SQL中可以使用的逻辑运算符有三个: NOT:逻辑反,对指定的布尔表达式求反。 AND:逻辑与,只有当两个条件都是TRUE时取值为

11、TRUE。 OR:逻辑或,当两个条件中任何一个条件是TRUE时取值为TRUE。,5.2.4 WHERE子句,在三个逻辑运算符中,NOT的优先级最高,AND次之,OR最低。在逻辑表达式中有三种可能的取值:True、False、Unkown。其中的Unkown是由值为NULL的数据参与逻辑运算得到的结果。 例5-2-5:从表T_STUDENT中查询是党员的男学生的信息。,5.2.4 WHERE子句,3BETWEEN关键字 使用BETWEEN关键字可以限定查询范围,其语法格式如下: test_expression NOT BETWEEN begin_expression AND end_expres

12、sion,5.2.4 WHERE子句,其中的参数说明如下: test_expression:是用来在由begin_expression和end_expression定义的范围内进行测试的表达式。test_expression必须与begin_expression和end_expression具有相同的数据类型。 NOT:查询不在指定范围内的数据。 begin_expression:指定数据取值的上限。 end_expression:指定数据取值的下限。 例5-2-6:从表T_SCORE中查询成绩在8090分的学生的信息。,5.2.4 WHERE子句,4IN关键字 使用IN关键字可以确定给定的值

13、是否与子查询或列表中的值相匹配。其语法格式如下: test_expression NOT IN( subquery | expression ,.n ) test_expression:任何有效的Microsoft SQL Server表达式。 Subquery:包含某列结果集的子查询。 expression ,.n:一个表达式列表,用来测试是否匹配。,5.2.4 WHERE子句,说明:如果test_expression与subquery 返回的任何值相等,或与逗号分隔的列表中的任何expression 相等,那么结果值就为TRUE。否则,结果值为FALSE。 例5-2-7:从表T_STUDE

14、NT中查询所有非党员的学生信息。,5.2.4 WHERE子句,5LIKE关键字 使用LIKE关键字可以确定给定的字符串是否与指定的模式匹配。其语法格式如下: match_expression NOT LIKE pattern ESCAPE escape_character match_expression:任何字符串数据类型的有效SQL Server表达式。 Pattern:指定match_expression中的搜索模式,可以包含下列有效SQL Server通配符:,5.2.4 WHERE子句,%:可匹配任意类型和长度的字符串。 _(下划线):可匹配任何单个字符。 :指定范围或集合中的任何单

15、个字符。 :不属于指定范围或集合的任何单个字符。 escape_character:允许在字符串中搜索通配符而不是将其作为通配符使用。 例5-2-8:从表T_STUDENT中查询所有姓张的学生信息。,5.2.4 WHERE子句,6NULL关键字 在WHERE子句中不能使用比较运算符对空值进行判断,只能使用空值表达式来判断某个表达式是否为空值。如下所示: 表达式IS NULL 或 表达式IS NOT NULL,5.2.5 GROUP BY子句,GROUP BY子句将查询结果分组。其语法格式如下: GROUP BY ALL group_by_expression ,.n 其中的参数说明如下: ALL:包含所有的组和结果,甚至包含那些不满足WHERE子句指定搜索条件的组和结果。如果指定了ALL,组中不满足搜索条件的空值也将作为一个组。,5.2.5 GROUP BY子句,group_by_expression:执行分组的表达式,可以是列或引用列的非聚合表达式。 例5-2-9:对表T_STUDENT中的记录按性别进行分组,查询相应的人数。,5.2.6 HAVING子句,HAVING子句为分组或集合指定搜索条件,通常与GROUP BY子句一起使用。其语法格式为: HAVING 其中的参数:search_condition用来指定搜索条件。,5.2.6 HAVING子句,说明:当HAV

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

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

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