零点起飞学SQL Sever之Transact-SQL数据操作

上传人:ji****72 文档编号:48586712 上传时间:2018-07-17 格式:PPTX 页数:28 大小:224.92KB
返回 下载 相关 举报
零点起飞学SQL Sever之Transact-SQL数据操作_第1页
第1页 / 共28页
零点起飞学SQL Sever之Transact-SQL数据操作_第2页
第2页 / 共28页
零点起飞学SQL Sever之Transact-SQL数据操作_第3页
第3页 / 共28页
零点起飞学SQL Sever之Transact-SQL数据操作_第4页
第4页 / 共28页
零点起飞学SQL Sever之Transact-SQL数据操作_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《零点起飞学SQL Sever之Transact-SQL数据操作》由会员分享,可在线阅读,更多相关《零点起飞学SQL Sever之Transact-SQL数据操作(28页珍藏版)》请在金锄头文库上搜索。

1、第第1313章章 TRANSACT-SQLTRANSACT-SQL数据操作数据操作+数据操作是用户对SQL Server 2008数据库 中数据的基础管理,主要包括SELECT(查 询)、INSERT(插入)、UPDATE(更新 )和DELELTE(删除)等语句的使用,即 Transact-SQL的DML语句。13.1 13.1 查询数据查询数据+使用数据库的最终目的是为了利用数据库中的数据,而 SELECT语句的功能就是从数据库中检索出符合用户需求的数 据。 +SELECT语句可以根据实际需要从一个或多个表中选择一个或 多个行或列。该语句使用灵活,完整语法较复杂,但其主要子 句可归纳如下。

2、+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 子句。 +查询t_student表中的所有数据。13.1.1 SELECT13.1.1 SELECT子子句句+SELECT子句用于指定查询要返回的列,是 SELECT语句中必须有的部分。1 1SELEC

3、TSELECT子句的语法子句的语法+SELECT子句的语法格式如下:+SELECT ALL | DISTINCT + TOP n PERCENT WITH TIES + + : := + * +| table_name | view_name | table_alias . * +| column_name | expression | IDENTITYCOL | ROWGUIDCOL + AS column_alias +| column_alias = expression + , .n 1 1SELECTSELECT子句的语法子句的语法+在expression中可以使用行聚合函数(又称

4、为统计函数)。SQL Server 2008中常用的 函数。行聚合函数格式功 能 说 明COUNT(DISTINCT|ALL*)计计算记录记录的个数COUNT(DISTINCT|ALL)计计算某列值值的个数AVG(DISTINCT|ALL*)计计算某列值值的平均值值MAX(DISTINCT|ALL)计计算某列值值的最大值值MIN(DISTINCT|ALL)计计算某列值值的最小值值SUM(DISTINCT|ALL)计算某列值的和2 2SELECTSELECT子句的示例子句的示例+【实例13-1】Practice_JWGL数据库中有t_student数据表,表中的数据如表 所示。+(1)查询表中的

5、所有记录。 +(2)查询表中前3条记录的s_number、s_name和birthday字段。 +(3)查询所有记录的sex字段,并去掉重复值。 +(4)查询所有记录的s_number(别名为学号)、s_name(别名为姓 名)和birthday(别名为出生日期)字段。 +(5)查询得到每个学生的年龄。 +(6)统计女同学的人数。S_NumberS_NameSexBirthdayPolityX032301李维斌男1985-12-20团员团员X032302王景山男1987-5-16团员团员X032303李欣灿女1987-6-12党员员X042304王晓云女1985-7-22团员团员X042305

6、张猛男1987-11-26党员员X052306赖以磊男1988-7-5群众X052307张张博轩轩男1986-8-9团员13.1.2 INTO13.1.2 INTO子句子句+INTO子句用于创建新表并将查询结果插入 新表中,其子句的语法格式如下:+ INTO new_table +【实例13-2】:使用INTO子句创建一个新 表(t_student1)。13.1.3 FROM13.1.3 FROM子句子句+在SELECT语句中,FROM子句是必需的, 除非选择列表只包含常量、变量和算术表 达式(没有列名)。FROM子句也常用于在 DELETE、SELECT和UPDATE语句中使用 的表、视图、

7、派生表和联接表。1 1FROMFROM子句的语法子句的语法+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 ( column_alias , .n ) + | + := +ON +| CROSS JOIN +| + := + INNER | LEFT | RIG

8、HT | FULL OUTER + +JOIN2 2FROMFROM子句的示例子句的示例+【实例13-3】:假设Practice_JWGL数据库中有 t_score数据表,表中的数据如表所示。+(1)查询表t_score和表t_student中的数据,满足条 件为T_student.s_number=t_score.s_number。 +(2)使用联接查询表t_score和表t_student中的数 据。S_numberC_numberScoreS_numberC_numberScoreX0323012003020369X0423052004042356X0323022003020373X05

9、23062004042885X0323032003020386X0523072004042698X0423042003020391 13.1.4 WHERE13.1.4 WHERE子句子句+WHERE子句用于指定查询返回行的搜索条 件。+1WHERE子句的语法+WHERE子句是条件子句,用来限定查询的 内容。其语句格式如下:+WHERE 2 2算术表达式算术表达式+使用算术表达式的一般形式为:+Expression operator expression +【实例13-4】从表t_score中查询不及格学生 的成绩信息3 3逻辑表达式逻辑表达式+在Transact-SQL中可以使用的逻辑运算符

10、有 3个。+NOT:逻辑反。+AND:逻辑与。+OR:逻辑或。+【实例13-5】:从表t_student中查询是党员 的女学生的信息。4 4BETWEENBETWEEN关键字关键字+使用BETWEEN关键字可以限定查询范围, 其语法格式如下:+Test_expression NOT BETWEEN begin_expression AND end_expression+【实例13-6】:从表t_score中查询成绩在80 90分的学生成绩信息。5 5ININ关键字关键字+使用IN关键字可以确定给定的值是否与子查询 或列表中的值相匹配,其语法格式如下:+Test_expression NOT I

11、N +( subquery +| expression , .n +)+【实例13-7】:从表t_student中查询所有非党 员的学生信息。6 6LIKELIKE关键字关键字+使用LIKE关键字可以确定给定的字符串是否 与指定的模式匹配。模式可以包含常规字符和 通配符字符。通过模式的匹配,达到模糊查询 的效果。其语法格式如下:+match_expression NOT LIKE pattern ESCAPE escape_character +【实例13-8】:从表t_student中查询所有姓张 的学生信息。7 7NULLNULL关键字关键字+在WHERE子句中不能使用比较运算符对空 值进

12、行判断,只能使用空值表达式来判断 某个表达式是否为空值。其表示如下:+表达式 IS NULL+或+表达式 IS NOT NULL13.1.5 GROUP BY13.1.5 GROUP BY子句子句+GROUP BY子句将查询结果分组。 +1GROUP BY子句的语法 +其语法格式如下:+ GROUP BY ALL group_by_expression , .n + WITH CUBE | ROLLUP +2GROUP BY子句的示例 +【实例13-9】:对表t_student中数据进行分组查询。 +(1)按性别分组查询。 +(2)使用CUBE分组查询。 +(3)使用ROLLUP分组查询。13

13、.1.6 HAVING13.1.6 HAVING子句子句+HAVING子句用于指定组或聚合的搜索条 件。HAVING只能与SELECT语句一起使 用。HAVING通常在GROUP BY子句中使 用。如果不使用GROUP BY子句,则 HAVING的行为与WHERE子句一样。其语 法格式如下:+HAVING +【实例13-10】:在表t_student中,按性别 进行分组统计,然后输出女生组的人数。13.1.7 ORDER BY13.1.7 ORDER BY子句子句+ORDER BY子句用于指定对查询结果排 序。如果在SELECT中同时指定了TOP,则 ORDER BY无效。其语法格式如下:+

14、ORDER BY order_by_expression ASC | DESC , .N +【实例13-11】:在表t_score中按成绩( score)排序。13.1.8 COMPUTE13.1.8 COMPUTE子句子句+COMPUTE子句用于生成合计作为附加的汇总列出 现在结果集的最后。当与BY一起使用时, COMPUTE子句在结果集内生成控制中断和小计。 可在同一查询内指定COMPUTE BY和COMPUTE。 其语法格式如下: + COMPUTE + AVG | COUNT | MAX | MIN | STDEV | STDEVP +| VAR | VARP | SUM +( exp

15、ression ) , .n + BY expression , .n +【实例13-12】:统计表t_score中所有学生的平均成 绩。13.1.9 13.1.9 联合查询联合查询+联接查询将两个或更多的SELECT语句的查 询结果合并为单个结果集,该结果集包含 联合查询中的所有查询的全部行。UNION 运算不同于使用联接合并两个表中的列的 运算。下面列出了使用UNION合并两个查 询结果集的基本规则。+所有查询中的列数和列的顺序必须相同。+数据类型必须兼容。13.1.10 13.1.10 嵌套查询嵌套查询+嵌套查询主要用于复杂的查询中。在 Transact-SQL语言中,一个SELECT-FROM- WHERE语句称为一个查询块,将一个查询 块嵌套在另一个查询块的WHERE子句或 HAVING短语的条件中的查询称为嵌套查 询。+【实例13-13】:查询选修了课程的所有学 生的信息。13.2 13.2 插入数据插入数据+INSERT语句将新行添加到表或视图中,其基本语法格式如下:+INSERT INTO + table_name +| view_name + + ( column_list ) +

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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