SQL Server 2000应用基础与实训教程(李国彬) 第4章 查询数据及更新数据

上传人:E**** 文档编号:89350244 上传时间:2019-05-23 格式:PPT 页数:177 大小:1.09MB
返回 下载 相关 举报
SQL Server 2000应用基础与实训教程(李国彬) 第4章 查询数据及更新数据_第1页
第1页 / 共177页
SQL Server 2000应用基础与实训教程(李国彬) 第4章 查询数据及更新数据_第2页
第2页 / 共177页
SQL Server 2000应用基础与实训教程(李国彬) 第4章 查询数据及更新数据_第3页
第3页 / 共177页
SQL Server 2000应用基础与实训教程(李国彬) 第4章 查询数据及更新数据_第4页
第4页 / 共177页
SQL Server 2000应用基础与实训教程(李国彬) 第4章 查询数据及更新数据_第5页
第5页 / 共177页
点击查看更多>>
资源描述

《SQL Server 2000应用基础与实训教程(李国彬) 第4章 查询数据及更新数据》由会员分享,可在线阅读,更多相关《SQL Server 2000应用基础与实训教程(李国彬) 第4章 查询数据及更新数据(177页珍藏版)》请在金锄头文库上搜索。

1、第4章 查询数据及更新数据,4.1 查询数据 4.2 插入新数据 4.3 修改数据 4.4 删除数据 4.5 导入与导出数据 习题,4.1查询数据,4.1.1 SELECT语句的基本语法格式 1SELECT语句的基本语法格式 SELECT语句的基本语法格式如下: SELECT select_list INTO new_table ROM table_source,WHERE search_condition GROUP BY group_by_expression HAVING search_condition ORDER BY order_expressionASC|DESC 其中: SEL

2、ECT子句用于指定选择的列或行及其限定; INTO子句用于将查询结果集存储到一个新的数据库表中; FROM子句用于指出所查询的表名以及各表之间的逻辑关系;,WHERE子句用于指定对记录的过滤条件; GROUP BY子句用于对查询到的记录进行分组; HAVING子句用于指定分组统计条件,要与GROUP BY子句一起使用; ORDER BY子句用于对查询到的记录进行排序处理。 在这些子句中,只有SELECT子句和FROM子句是必选项,其他子句均为可选项。,2SELECT语句的执行方式 数据的查询可以在企业管理器中执行,也可以在查询分析器中执行,具体方法如下: 1) 在企业管理器中执行SELECT语

3、句 在企业管理器中,可以使用查询设计器来编写、修改和执行一个SELECT语句。若要打开查询设计器窗口,可执行如下操作: 启动企业管理器,并在“树”窗格中双击想要查询的表所在的数据库(或点击数据库前面的“+”图标,展开数据库),并在该数据库下方单击“表”节点。然后在右侧内容窗格中选择所要操作的表,单击鼠标右键,在弹出的快捷菜单中选择“打开表”“返回所有行”命令。,系统将打开如图4-1所示的查询设计器窗口。此窗口提供了一系列窗格,用于设计、编辑和测试查询语句。默认状态下只能看到结果窗格。,图4-1 查询设计器窗口,通过单击工具栏上的有关按钮,可以在查询设计窗口打开四个窗格,分别是关系窗格、网格窗格

4、、SQL窗格和结果窗格,如图4-2所示。 下面对查询设计器中的四个窗格进行简要的介绍。 (1) 关系窗格:用于向查询中添加表或视图对象以及选择输出字段,并允许将相关的表连接起来。 (2) 网格窗格:用于设置显示字段、排序结果、搜索和分组结果的选项。,图4-2 包含四个窗格的查询设计器窗口,(3) SQL窗格:用于输入和编辑所有的SELECT语句。 (4) 结果窗格:用于显示SELECT语句执行的结果,并允许添加、修改和删除记录。 如果看不到上述窗格,可在工具栏上单击对应的工具按钮图标,如图4-3所示。 通常情况下,SQL窗格和结果窗格用得较多。一般在SQL窗格中输入SELECT语句,然后单击工

5、具栏上的运行按钮“!”,在结果窗格中即可看到查询结果。,图4-3 常用工具按钮图标,2) 在查询分析器中执行SELECT语句 在查询分析器中执行SELECT语句时,需要指定所使用的数据库。进入查询分析器后,可用下面两种方法指定数据库: (1) 在工具栏上,从数据库下拉列表中选择需要使用的数据库。 (2) 在SQL窗格中,输入一个语句: USE 数据库名 注意:如果没有指定所需要的数据库,则在执行SELECT语句时就会出现“对象名XXX”无效的错误,即XXX数据表没有找到。,指定数据库后,即可在查询分析器的文本编辑区输入SELECT语句。输入语句后并不能立即执行,必须通过选择菜单“查询”“执行”

6、命令,或按工具栏上的“执行查询”按钮,才能执行SELECT语句。 注意:“执行查询”按钮的图标是一个向右三角形,光标在其上停留时,提示信息为“执行查询”,以后提到的“执行查询”按钮均指这个图标按钮。 点击工具栏上的“执行模式”下拉列表,可以选择三种执行模式:以表格显示结果,以文本显示结果及将结果保存为文件。,用户可以将查询分析器中所编写的SQL语句保存到一个磁盘文件(.sql)中,以后可以将该查询文件打开调入这些SQL语句,这样避免了重复输入。 为了便于学习,我们将SELECT语句通过各个子句分别进行讲解。 4.1.2 使用SELECT子句选取字段和记录 SELECT子句的主要作用是指定要在选

7、择查询中输出的字段,而通过该子句使用的某些选择谓词,则可以对输出的记录进行限制。 SELECT子句的格式为 SELECT ALL|DISTINCT TOP n PERCENTWITH TIES ,1查询表中所有字段 要从一个表中查询全部字段,在SELECT子句中使用一个星号“*”即可,而不必列出所有字段的名字。 【例4.1】 查询“图书信息”表中全部数据。 打开查询分析器,然后从工具栏上的数据库选择列表中选择“学生图书借阅管理”,并在文本编辑区输入下列语句: SELECT * FROM 图书信息 单击工具栏上的“执行查询”按钮,结果如图4-4所示。 FROM子句指定数据来源为“图书信息”表,“

8、*”号表示“图书信息”表中的所有字段。,图4-4 查询全部字段的结果,2选取部分字段 使用SELECT语句选择表中的某些字段时,各字段名之间要以逗号分隔。 【例4.2】 查询“图书信息”表中图书名称、作者和出版社名称字段的信息。 用户可以在企业管理器和查询分析器中操作。 1) 在企业管理器中操作 启动企业管理器,并在“树”窗格中双击想要查询的表所在的数据库(或点击数据库前面的“+”图标,展开数据库),并在该数据库下方单击“表”节点。然后在右窗格中选择所要操作的表,单击鼠标右键,在弹出的快捷菜单中选择“打开表”“查询”命令。系统打开如图4-2所示的包含四个窗格的查询设计器窗口,再按以下步骤操作:

9、,(1) 在“网格窗格”中将“列”中为“*”内容的对应“输出”列的对号去掉,对应的“SQL窗格”中的SELECT语句的“*”随即去掉。“SQL窗格”的内容变为 SELECT FROM 图书信息 (2) 在“关系窗格”将要输出的字段选中,单击相应字段前面的复选框,此时“SQL窗格”的SELECT语句也跟随变化,如图4-5所示。,图4-5 使用企业管理器创建查询窗口,(3) 单击工具栏上的“!”运行按钮,结果如上图“结果窗格”所示。 注意:在企业管理器中操作时,只能对已打开的数据库进行操作。SQL窗格中只能输入一条SQL语句,并且查询设计器不支持USE命令。 2) 在查询分析器中操作 打开查询分析

10、器,在文本编辑区中输入以下查询语句: USE 学生图书借阅管理 GO SELECT 图书名称,作者,出版社名称 FROM 图书信息 GO,单击工具栏上的“执行查询”按钮或按快捷键“F5”执行查询即可。 若要将以上代码以.sql文件的形式保存,可按下面的方式操作: (1) 首先将光标定位在文本编辑区(注意,不要将光标定位在结果区,以免保存的文件内容及类型错误),单击工具栏上的“保存”按钮,弹出保存对话框,选择一个合适的路径,输入名字(比如:tsxx),保存即可。系统自动保存为.sql类型。 (2) 以后再要使用这个文件时,可以按“打开”按钮,找到该文件将其显示在文本编辑窗口,可再次运行。,注意:

11、当表名或字段名中有空格时,则在使用表名或字段名时应该用双引号或方括号将其括起来,否则将告之语法错误或将空格后的部分作为别名。 3设置字段别名 显示查询结果时,通常第一行显示各个输出字段的名称。为了方便阅读,用户可以用更容易理解的字段名称来取代原有字段。比如,用户在设计表时用英文或汉语拼音字段名,在显示查询结果时想用中文字段名,可以通过设置字段别名来实现。,设置字段别名的方法如下: (1) 原字段名 AS 字段别名; (2) 字段别名=原字段名。 注意:当原字段名或字段别名中有空格时,必须用方括号或双引号括起来。 【例4.3】 显示“图书信息”中的“图书名称”和“状态”字段的信息,并为“状态”设

12、置别名“是否借出”。 对应的查询语句为 USE 学生图书借阅管理,GO SELECT 图书名称,状态 AS 是否借出 FROM 图书信息 GO 若是在企业管理器中操作,请按【例4.2】中的步骤选择字段“图书名称”和“状态”,然后在“网格窗格”中将“别名”列中与“状态”对应的位置写入“是否借出”,再执行。,4使用计算字段 计算字段并不是数据库表中的真实字段,而是由数据库表中的一些字段经过运算而生成的表达式。语法格式为:表达式 AS 别名。 当不为表达式指定别名时,输出时该列的第一行将显示(无列名)。 【例4.4】 将“图书信息”中的定价打八折。 完成上述功能的查询语句如下: USE 学生图书借阅

13、管理 GO SELECT 图书名称,定价,定价*0.8 AS 八折 FROM 图书信息 GO,5使用ALL返回全部记录 如果在SELECT子句中没有使用任何一个选择谓词,则相当于使用了ALL关键字,这时选择查询将返回符合条件的全部记录。 【例4.5】 查询“学生信息”表中全部记录。 所使用的查询语句为 SELECT ALL * FROM 学生信息 注:省略ALL也可以。,6使用DISTINCT消除结果集中重复的记录 当对表只选择部分字段时,可能会出现重复行。例如,若对“图书信息”表中只选择“出版社名称”和“入馆时间”这两个字段进行查询,结果可能会出现重复行,因为某一天可能有多种同一出版社的书入

14、库。如果用户关心的是某天某出版社的书有没有入库,而不关心同一出版社的书入库数目的多少,则可以去掉重复的记录。使用DISTINCT关键字即可消除重复的记录。 关键字DISTINCT是限制字段列表中所有字段的值都相同时只显示其中一条,而不是针对某个字段来处理。就下面的查询命令而言,只有“出版社名称”和“入馆时间”都相同的才会被视为重复的记录。,【例4.6】 查询“图书信息”表中的“出版社名称”、“入馆时间”的信息。 所使用的查询语句为 SELECT DISTINCT 出版社名称, 入馆时间 FROM 图书信息 结果如图4-6所示。 结果中不会出现“出版社名称”和“入馆时间”都相同的重复记录,可能有

15、同一出版社的多条记录,但它们的入馆时间肯定不一样。,图4-6 使用DISTINCT筛选的结果,7使用TOP显示前面有限条记录 可以使用TOP关键字来限制返回结果的个数,语法为 TOP n PERCENT 其中,n表示返回查询到的前n条记录。如果使用了PERCENT参数,则n为百分比,即返回前百分之n条记录。 【例4.7】 查询“图书信息”表中的前5条记录,字段为图书名称和出版社名称。 所使用的查询语句为 SELECT TOP 5 图书名称, 出版社名称 FROM 图书信息 结果显示前5条记录,若第一行加上PERCENT,显示占查询结果总数的5%条记录。,4.1.3 选择查询 根据前面的介绍,我

16、们知道只要通过FROM子句指定数据来源,SELECT子句指定输出字段就能够从数据库表中获取全部数据。而实际工作中大多数查询并不是希望得到表中的所有记录,而是满足给定条件的部分记录,这就需要对数据库表中的记录进行过滤。通过在SELECT语句中使用WHERE子句,可以设置对记录的检索条件,从而保证查询结果中仅仅包含所需要的记录。,带WHERE子句的SELECT语句的语法格式: SELECT select_list FROM table_name WHERE 其中,select_list为要选择的列或行及其限定,table_name为数据来源表,search_condition为查询条件。 查询条件为选择查询结果的条件,是用运算符连接字段名、常量、变量、函数等而得到的表达式,其取值为TRUE或FALSE。满足条件的结果为TRUE,不满足条件的结果为FALSE。满足条件的记录都会包含在查询所返回的结果集中,不满足条件的记录则不会出现在这个结果集中。,在WHERE子句中经常使用比较运算符和逻辑运算

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

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

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