查询与视图(4)
视图和查询的区别
![视图和查询的区别](https://img.taocdn.com/s3/m/82475fa0d5d8d15abe23482fb4daa58da0111c34.png)
视图和查询的区别1:什么是视图2:视图和查询的区别3:视图的优点4:如何创建和管理视图5:如何通过视图修改基本表的数据6:如何通过视图实现数据的安全性A:什么是视图:视图(view):从一个或几个基本表中根据用户需要而做成一个虚表1:视图是虚表,它在存储时只存储视图的定义,而没有存储对应的数据2:视图只在刚刚打开的一瞬间,通过定义从基表中搜集数据,并展现给用户B:视图与查询的区别:视图和查询都是用由sql语句组成,这是他们相同的地方,但是视图和查询有着本质区别: 它们的区别在于:1:存储上的区别:视图存储为数据库设计的一部分,而查询则不是.2:更新限制的要求不一样要注意:因为视图来自于表,所以通过视图可以间接对表进行更新,我们也可以通过update语句对表进行更新,但是对视图和查询更新限制是不同的,以下我们会知道虽然通过视图可以间接更新表但是有很多限制.3:排序结果:通过sql语句,可以对一个表进行排序,而视图则不行.比如:创建一个含有order by子句的视图,看一下可以成功吗?C:视图的优点:为什么有了表还要引入视图呢?这是因为视图具有以下几个优点: 1:能分割数据,简化观点可以通过select和where来定义视图,从而可以分割数据基表中某些对于用户不关心的数据,使用户把注意力集中到所关心的数据列.进一步简化浏览数据工作.2:为数据提供一定的逻辑独立性如果为某一个基表定义一个视图,即使以后基本表的内容的发生改变了也不会影响“视图定义”所得到的数据3:提供自动的安全保护功能视图能像基本表一样授予或撤消访问许可权.4:视图可以间接对表进行更新,因此视图的更新就是表的更新D:视图的创建和管理视图的创建1:通过sql语句格式:create view 视图名 as select 语句试一试:分别创建关于一个表或多个表的视图[因为视图可以来自于多表]2:通过企业管理器说明:1:在完成视图的创立之后,就可以像使用基本表一样来使用视图2:在创建视图时,并非所有的select子查询都可用如:compute和compute by,order by[除非与top一起连用]3:但在查询时,依然都可以用在创建时禁用的select子查询4:在视图创建时,必须为没有标题列指定标题[思考:能否不用select 语句来创建一个视图]视图的删除:1:通过sql语句:drop view 视图名2:通过企业管理器说明:与删除表不同的是,删除视图后只是删除了视图了定义,并没有删除表中的数据.[查看相关性]修改视图的定义1:通过企业管理器2:通过sql语句:格式:alter view 视图名 as 新的select语句浏览视图信息 sp_helptext 视图名 [查看视图创建的语句]E:如何通过视图修改基本表的数据.1:在视图上使用insert语句通过视图插入数据与直接在表中插入数据一样,但视图毕竟不是基本表.因此在进行数据插入时还是有一定的限制1:如果视图上没有包括基本表中属性为not null[不能为空]的列,那么插入操作会因为那些列是null值而失败.2:如果某些列因为某些规则或约束的限制而不能直接接受从视图插入的列时,插入会失败3:如果在视图中包含了使用统计函数的结果,或是包含计算列,则插入操作会失败4:不能在使用了distinct语句的视图中插入值5:不能在使用了group by语句的视图中插入值2:使用update更新视图中的数据1:更新视图与更新表格一样,但是在视图中使用了多个基本表连接的情况下,每次更新操作只能更新来自基本表的一个数据列例如:创建以下视图:create view del asselect 职工号,姓名,部门名称,负责人 from work1,部门where work1.部门编号=部门.部门编号如果再执行下面的语句时:update del set 职工号=\'001\',部门名称=\'wenda\' where 职工号=\'01\'[出现错误]只能够改成:update del set 职工号=\'001\' where 职工号=\'01\' update del set 部门名称=\'wenda\' where 职工号=\'01\' 2:不能在使用了distinct语句的视图中更新值3:不能在使用了group by语句的视图中更新值3:使用delete删除视图中数据.通过视图删除数据最终体现为从基本表中删除数据格式:delete 视图名 [where 条件]说明:当视图由两个以上的基表构成时,不允许删除视图的数据例如:建一个视图kkcreate view kk asselect 职工号,姓名,性别,部门名称from work1,部门where work1.部门编号=部门.部门编号 [试着去删除]使用with check option的视图如果不了解视图定义内容,则常常会发生向视图中输入不符合视图定义的数据的情况.比如:create view xm asselect * from work where 性别=\'男\'完全可以插入insert xm values(\'001\',\'女\',23,\'2400\'....)尽管从意义上来说是不合理的,但是上述语句是正确的.为了防止这种情况的发生,可以使用with check option子句来对插入的或更改的数据进行限制.比如:create view xm asselect * from work where 性别=\'男\' with check option使用schemabinding的视图[使用绑定到构架]我们知道视图是依赖于表,如果在一个表中创建一个视图,今后如果这个表被删除了,则这个视图将不可再用了.为了防止用户删除一个有视图在引用的表,可以在创建视图的时候加上schemabinding关键字.比如:create view 基本工资 with SCHEMABINDINGas select 姓名,性别,基本工资 from dbo.work说明:1:不能使用“*”来创建此类型的视图2:创建此类型的视图时,一定要加上dbo.表名.3:如果在某个表中定义了此类视图,则用户将不能对表的结构进行修改,否则会删除这些绑定4:如果用户对表的结构进行列改名,则会删除绑定而且视图不可用.5:如果用户对表的结构进行列的类型或者大小修改,则会删除绑定但视图可用,此时用户可以删除视图所引用的表.使用with encryption对视图进行加密为了保护创建视图定义的原代码,可以对视图进行加密.比如:create view kk with encryptionas select * from work where 职称=\'经理\'用sp_helptext来查看一下.或用企业管理器查看一下.说明:如果应用此项用户将无法设计视图F:使用视图加强数据的安全一般通过使用视图共有三种途径加强数据的安全性A:对不同用户授予不同的使用权.B:通过使用select子句限制用户对某些底层基表的列的访问C:通过使用where子句限制用户对某些底层基表的行的访问对不同用户授予不同的权限。
数据库实验4_数据库查询与视图
![数据库实验4_数据库查询与视图](https://img.taocdn.com/s3/m/cabaca77f4335a8102d276a20029bd64783e62f7.png)
数据库实验4_数据库查询与视图在学⽣选课数据库中完成规定查询,并创建视图。
1.查询线性代数不及格的同学的学号和姓名;SQL语句为:SELECT名单$.学号,姓名FROM名单$,学⽣选课信息和成绩$,课程$WHERE名单$.学号=学⽣选课信息和成绩$.学号AND课程$.课号=学⽣选课信息和成绩$.课号AND 课程$.课程名='线性代数'AND学⽣选课信息和成绩$.成绩<60;执⾏后结果为:2.查询没有选课记录的同学的所有基本信息;SQL语句为:SELECT*FROM名单$WHERE NOTEXISTS(SELECT*FROM学⽣选课信息和成绩$WHERE学号=名单$.学号);执⾏后结果为:3.查询具有简介先修课的课程信息及对应的先修课名;SQL语句为:SELECTFIRST.课号,SECOND.课程名FROM课程$FIRST,课程$SECONDWHEREFIRST.先修课号=SECOND.课号;执⾏后结果如下:4.统计⾼等数学(1)的平均成绩;SQL语句为:SELECT AVG(成绩)FROM学⽣选课信息和成绩$,课程$WHERE学⽣选课信息和成绩$.课号=课程$.课号AND课程$.课程名='⾼等数学(1)'; 执⾏后结果如下:5.统计各门课的选课⼈数;SQL语句为:SELECT课号,COUNT(学号)FROM学⽣选课信息和成绩$GROUPBY课号;执⾏后结果为:6.查询选修5门课以上的学⽣的学号;SQL语句为:SELECT学号FROM学⽣选课信息和成绩$GROUPBY学号HAVING COUNT(*)>5;执⾏后结果为:7.⽤你的学号查询和你⼀个班的同学的学号和姓名;SQL语句为:SELECT学号,姓名FROM名单$WHERE班级IN(SELECT班级FROM名单$WHERE学号='201000800145');执⾏后结果如下:8.查询⾼等数学(1)成绩⽐你⾼出10分以上的同学的姓名和对应成绩;SQL语句为:SELECT姓名,成绩FROM名单$,学⽣选课信息和成绩$WHERE名单$.学号=学⽣选课信息和成绩$.学号AND学⽣选课信息和成绩$.课号='82006010'AND成绩>(SELECT成绩+10FROM学⽣选课信息和成绩$,课程$WHERE学⽣选课信息和成绩$.课号=课程$.课号AND课程$.课程名='⾼等数学(1)' AND学⽣选课信息和成绩$.学号='201000800145')执⾏后结果为:9.找到每门课获得最⾼成绩的同学的学号、姓名、课名和成绩;选做。
第五章 创建查询与视图
![第五章 创建查询与视图](https://img.taocdn.com/s3/m/6fea4cc608a1284ac850433b.png)
5.1 创建查询1. 查询的概念查询:就是向一个数据库发出检索信息的请求,从中提取符合特定条件的记录。
查询文件:即保存实现查询的SELECT-SQL命令的文件。
查询文件保存时,系统自动给出扩展名.qpr;查询被运行后,系统还会生成一个编译后的查询文件,扩展名为 .qpx。
查询结果:通过运行查询文件得到的一个基于表和视图的动态的数据集合。
查询结果可以用不同的形式来保存。
查询中的数据是只读的。
查询的数据源:可以是一张或多张相关的自由表、数据库表、视图。
2. 用查询设计器创建查询基本步骤:打开查询设计器→添加创建查询所基于的数据表→定义输出内容→设置联接、筛选、排序、分组条件→选择查询结果的输出形式→保存查询文件→运行查询。
(1)打开查询设计器方法1:从文件菜单或工具栏上单击新建→查询→新建文件→进入查询设计器方法2:当所用到的数据表已在项目中时,从项目管理器窗口中单击数据→查询→新建→新建查询→进入查询设计器方法3:从命令窗口中输入命令:create query 查询文件名& 创建新查询modify query 查询文件名& 修改已存在的查询(2) 定义查询的输出内容单击字段选项卡→从可用字段列表框中单击所需字段(当输出的列不是直接来源于表中的字段时,单击函数和表达式框边的…按钮,打开表达式生成器,构造出所需的表达式)→单击添加按钮→所需字段自动出现在选定字段框中。
(3) 设置查询的筛选条件筛选条件决定将哪些记录显示出来。
在筛选框中构造筛选条件表达式时,要注意在实例框中输入不同数据类型时的格式:1) 字符串可以不带引号(当与源表中的字段名相同时才用引号);2) 日期型数值要用{ }括起来;3) 逻辑型数据两侧要带 .号,如 .T.,.F.(4) 设置查询结果的排序依据排序决定查询输出结果中记录显示的顺序。
设置方法:单击排序依据→从选定字段框选中字段→选择升序或降序→单击添加。
(5) 设置查询结果的分组依据分组是指将一组类似的记录压缩成一个结果记录,目的是为了完成基于该组记录的计算,比如:求平均值、总和、统计个数、其中的最大值、最小值等。
VF程序设计 第八章查询与视图设计
![VF程序设计 第八章查询与视图设计](https://img.taocdn.com/s3/m/7064d61e6bd97f192279e976.png)
例如, 例如,
查询1 qpr。 DO 查询1.qpr。
3.查询的修改
修改可以用以下3种方法: 修改可以用以下3种方法: 项目管理器”窗口中,选择要修改的查询文件, ① 在“项目管理器”窗口中,选择要修改的查询文件,单 击右边的“修改”按钮,进入“查询设计器”窗口中修改。 击右边的“修改”按钮,进入“查询设计器”窗口中修改。 选择【 文件】 打开】命令, 打开” 对话框中, ② 选择 【 文件 】|【 打开 】 命令 , 在 “ 打开 ” 对话框中 , 择所要修改的查询文件,单击“确定”按钮,进入“ 选 择所要修改的查询文件,单击“确定”按钮,进入“查询 设计器”窗口中修改。 设计器”窗口中修改。 在命令窗口中, 查询文件名> ③ 在命令窗口中,键入 MODIFY QUERY <查询文件名>
二、查询文件的建立、运行和修改 查询文件的建立、
利用“查询向导” 1.利用“查询向导”创建查询文件
利用“查询向导”创建查询的步骤如下: 利用“查询向导”创建查询的步骤如下: 进入“查询向导” (1)进入“查询向导” 进入“查询向导”可用下面3种方法: 进入“查询向导”可用下面3种方法: ① 选择【工具】|【向导】|【查询】命令。 选择【工具】 向导】 查询】命令。 选择【文件】 新建】命令,进入“新建” ② 选择【文件】|【新建】命令,进入“新建” 对话框,选择“查询”单选按钮,单击“向导”按钮。 对话框,选择“查询”单选按钮,单击“向导”按钮。 项目管理器” 窗口中, 选择“ 数据” ③ 在 “ 项目管理器 ” 窗口中 , 选择 “ 数据 ” 选 项卡,选中“查询” 单击“新建”按钮,出现“ 项卡,选中“查询”,单击“新建”按钮,出现“新 建查询”对话框,单击“查询向导”按钮。 建查询”对话框,单击“查询向导”按钮。
数据库__VFP6第4章查询与视图
![数据库__VFP6第4章查询与视图](https://img.taocdn.com/s3/m/89398f04e87101f69e31957a.png)
图4-15 查询设计器界面
(3)查询参数的设置 第一节 查询 ①确定输出的字段。在图4-15中的“可用字段”列表框中显示了上部窗 口中表的所有字段名称,通过“添加”或“全部添加”将“可用字段” 中所选择的字段移到“选定字段”列表框中。在本例中,B_xsxx表中除 szbj、xsjg、xspy等三个字段不选外其余全选,B_bjxx表中选择bjmc, B_dqxx表中选择dqmc ②设置联接条件 ③查询结果的排序。如果需要对查询的结果按一定的顺序排列,则可以 选择“排序依据”选项卡,以决定排序的依据。该选项卡如图4-16所示 。
第一节
图4-2 查询向导步骤之2 查询 查询向导步骤之2
第一节 查询 (4)步骤2:关联表
通常查询向导会自动查找两个表之间相匹配的字段 并显示在第二步的两个列表框中, 并显示在第二步的两个列表框中 , 如果这种关系正是 所需要的, 可以直接单击“ 添加” 按钮。 所需要的 , 可以直接单击 “ 添加 ” 按钮 。 如果在表之 间没有相匹配的字段, 就需要手工建立, 间没有相匹配的字段 , 就需要手工建立 , 只要分别在 两个下拉列表框中选取相应的字段即可。 两个下拉列表框中选取相应的字段即可。
图4-16 排序依据选项卡
第一节 查询 ④查询条件的设置。在“筛选”选项卡中可以设定查询的
条件,例如可以查询所有男同学的情况。“筛选”选项卡 如图4-17。
图4-17 筛选选项卡
⑤其他查询参数的设置 查询参数主要包括以上四项,其 他还有“分组依据”和“杂项”两个选项。
(4)查询结果的去向 第一节 查询
在查询设计的过程中,为了查看查询的结果, 可以随时单击“运行”按钮,VFP就会在屏幕上显 示查询的结果记录。在默认情况下,查询的结果直 接输出到屏幕上而且是不保存的。如果想改变查询 结果的去向,可以单击“查询设计器”工具栏中的 “查询去向”按钮,在图4-18所示的查询去向对话 框中选择不同的查询去向。
内部讲义--VF-6-查询与视图
![内部讲义--VF-6-查询与视图](https://img.taocdn.com/s3/m/7258b06c76a20029bc642d92.png)
第六章查询和视图大纲要求二. VISUAL FOXPRO数据库基础操作3、建立视图与数据查询:(1)查询文件的建立、执行与修改。
(2)视图文件的建立、查看与修改。
(3)建立多表查询。
(4)建立多表视图。
知识要点1. 建立查询文件建立查询文件的方法有:(1)单击“文件”菜单中的“新建”命令(或工具栏上的“新建”按钮),在“新建”对话框中选择“查询”,然后单击“新建查询”按钮,同时打开查询设计器和“添加表和视图”对话框,选择相关数据库,单击“添加”按钮添加用于建立查询的表和视图。
(2)在”项目管理器”中,选择“数据”选项卡中的查询,单击“新建”按钮,则出现新建查询的方式选择对话框。
单击“新建查询”按钮,则打开“查询设计器”对话框。
(3)执行CREATE QUERY命令打开查询设计器建立查询。
(4)直接编辑.qpr文件建立查询。
2.查询选项卡:查询设计器界面的各项选卡和SQL SELECT语句的个短语是相对应的。
“添加表和视图”:打开查询设计器就可以选择设计查询的表或视图,这项操作对应于FROM短语,此后还可以从“查询”菜单或工具栏中选择“添加表” 或选择“移去表”重新指定设计查询的表;“字段”选项卡对应于SELECT短语,指定所要查询的数据,这时可以单击“全部添加”选择所有字段,也可以逐个选择字段“添加”;在函数和表达式“编辑框中可以输入或编辑计算表达式。
“联接“选项卡对应于JOIN ON短语,用于编辑联接条件。
“筛选”选项卡对应于WHERE短语,用于指定查询条件。
“排序依据”选项卡对应于ORDER BY短语,用于指定排序的字段和排序方式。
“分组依据”选项卡对应于GROUP BY短语和HAVING短语,用于分组。
“杂项”选项卡可以指定是否要重复记录(对应于DISTINCT)及列在前面的记录(对应于TOP短语)等。
从以上个选项卡的内容可以看出,如果熟悉SQLSELECT,那么设计查询是非常简单的;反之如果不熟悉,甚至不了解SQL SELECT,将很难理解查询设计器的这些内容。
VFP课件查询与视图
![VFP课件查询与视图](https://img.taocdn.com/s3/m/d6bbec54c4da50e2524de518964bcf84b8d52d69.png)
查询结果排序
排序决定了查询输出结果中记录或行的先后顺序,我们可以通
过“排序依据”选项卡设置查询的排序次序,方法同在用查询向
导设计查询介绍的一样,首先从“选定字段”框中选定要使用的
字段2024/2/24
16
并把它们移到“排序条件”框中,然后利用“排序选项”(从 中选择升序或降序)来设置排序条件。本例中设置Student.学号, 升序为排序依据。
选择筛选字段 设置筛选条件 输入筛选实例 是否区分大小写 设置条件逻辑
在字段名下的下拉选择框中选择“Student.性别”,在“条件”
下的下拉选择框中选择“=”,在“实例”下的文本框中输入.T.,
则查询所有的男生。
2024/2/24
15
在“逻辑”下的下拉选择框中选择“AND”,然后再在字段名下 的下拉选择框中选择“Student.学号”,在“条件”下的下拉选 择框中选择“In”,在“实例”下的文本框中输入“9904,9804” (请注意中间的“,”是En状态下输入的)。
单击
单击【预览】按钮可以显示查询结果。根据要求,设置条件如上图。其中,
虽然表中没有年级字段,但可通过“学号”得到年级(学号的前二位为年
级)202。4/2/24
6
——
查 询 向 导
记
录
排
序
调整排 序顺序
移动按钮
选择排序字段 单击【添加】 选择排序方式 单击
2024/2/24
7
查询向导——限制记录
说明:查询结果中所包含
2024/2/24
14
பைடு நூலகம்
筛选记录
选择表中符合条件的一部分记录而不是全部记录是查询的重要 任务。此例要求从所有学生的信息中选出“学号”前四位为 “9904”和“9804”的所有男生,可以利用查询设计器中的“筛选” 选项卡。“筛选”选项卡可确定用于选择记录的字段和比较准则, 以及输入与该字段进行比较的示例值。
SQL_Server实用教程(第三版)实验4_数据库的查询和视图
![SQL_Server实用教程(第三版)实验4_数据库的查询和视图](https://img.taocdn.com/s3/m/253d463d5a8102d276a22f6c.png)
实验四数据库的查询和视图T4.1 数据库的查询1.目的与要求(1)掌握select语句的基本语法;(2)掌握子查询的表示(3)掌握连接查询的表示(4)掌握select语句的group by子句的作用和使用方法(5)掌握select语句的order by子句的作用和使用方法2 实验准备(1)了解SELECT语句的基本语法格式;(2)了解SELECT语句的执行方法;(3)了解子查询的表示方法;(4)了解连接查询的表示;(5)了解SELECT语句的GROUPBY子句的作用和使用方法;(6)了解SELECT语句的ORDERBY子句的作用;3实验内容SELECT语句的基本使用。
①对于实验2给出的数据库表结构,查询每个雇员的所有数据。
新建一个查询,在查询分析器中输入如下语句并执行:USEYGGLGOSELECT *FROM Employees【思考与练习】用SELECT语句查询Departments和Salary表中所有的数据信息。
用SELECT语句查询Employees表中每个雇员的地址和电话。
新建一个查询,在查询分析器中输入如下语句并执行:Use YGGLGOSELECT Address PhoneNumberFROM Employees【思考与练习】a.用SELECT语句查询Deparments和Salary表的一列或若干列。
b.查询Employees表中的部门号和性别,要求使用DISTINCT消除重复行。
c.查询EmployeeID为000001的雇员的地址和电话。
Use YGGLGOSELECT Address PhoneNumberFROM EmployeesWHERE EmployeeID=’000001’【思考与练习】a.查询月收入高于2000元的员工号码。
b.查询1970年以后出生的员工的姓名和住址。
c.查询所有财务部的员工的号码和姓名。
查询Employees表中女雇员的地址和电话,使用AS子句将结果中各列的标题分别指定为地址、电话。
查询与视图
![查询与视图](https://img.taocdn.com/s3/m/b4791bf67c1cfad6195fa797.png)
返回 退出
CopyRight 基础部
任务三 使用查询设计器创建查询
3.设计筛选条件 “条件”下拉框中的比较运算表所示。
操作符 含 义
指定字段大于等于实例文本的值
下一页 例
实
>= <= Is Null Between In
> =60 筛选出字段值大于等于60的记录 筛选出字段值大于等于 的记录 < =60 筛选出字段值小于等于60的记录 筛选出字段值小于等于 的记录 Xscj.英语 Null 英语Is 英语 筛选出英语字段值中有Null的记录 筛选出英语字段值中有 的记录 Between 50 ,70 筛选出字段值介于50~ 的记录 筛选出字段值介于 ~70的记录 In "党员","团员" 党员" "团员" 筛选出字段值为党员或团员的记录
CopyRight 基础部
视图的建立
(l)用 VIEW命令打开视图设计器 (l)用CREATE VIEW命令打开视图设计器 建立视图。 建立视图。 (2)利用 新建” 利用“ (2)利用“新建”对话框打开视图设计 器建立视图。 器建立视图。 (3)在项目管理器的 数据” 在项目管理器的“ (3)在项目管理器的“数据”选项卡中 打开视图设计器建立视图。 打开视图设计器建立视图。 (4)利用SQL命令CREATE VIEW... AS... (4)利用SQL命令CREATE 利用SQL命令 建立视图。 建立视图。
CopyRight 基础部
使用查询向导创建查询
1.设计查询
制作方法 数据源 选择字段 筛选条件 排序依据
选择查询制作方法 本任务所选择的查询文件制作方法 A.查询向导 B.查询设计器 SQLC.SQL- Select
VFP计算机二级查询与视
![VFP计算机二级查询与视](https://img.taocdn.com/s3/m/309af885a8956bec0875e32e.png)
11
编辑ppt
❖ 2、建立视图文件建立视图文件的方法有:
❖ ●单击“文件”菜单中的“新建”命令,或单击工具 栏上的“新建”按钮,打开“新建”对话框,选择“视图” 后单机“新建文件”按钮,同时打开视图设计器和“添加 表或视图”对话框,单击“添加”按钮添加用于创建视图 的表或视图。
查询菜单
打开“查询设计器”后,系统菜单中会自动增加一个“查询” 菜单,该菜单包含“查询设计器”下部窗格中各个选项卡包含的 所有选项,也包含快捷菜单和“查询设计器”工具栏的大部分功 能。
6
编辑ppt
❖ 多表查询时需要多个表,首先建立关联。
7
编辑ppt
内部联接:只返回完全满足联接条件的记录
左联接:返回左侧表中的所有记录和右侧表中相匹配的记 录
10
编辑ppt
二、视图
1、 概念
视图是数据库具有的一个特有功能,数据库打开时, 视图才可使用。视图只能创建在某个数据库中。
视图是创建自定义并可更新的数据集合。它是一个 虚拟表,所谓虚拟,是因为视图的数据是从已有的数据库 表或其他视图中抽配得来的。这些数据在数据库中并不实 际存储,仅在其数据词典中存储视图的定义。但视图一经 定义,就成为数据库的组成部分,可以像数据库表一样接 受用户的查询。
询”“新建文件” (2)命令法:CREATE QUERY (3)通过项目管理器创建查询
3
编辑ppt
创建查询
使用“查询设计器”创建查询需要经过以下几个步骤:
(1)选择需要从中获取信息的表或视图 (2)选择查询结果中需要的字段或字段表达式 (3)若是多表查询,需要给出表之间联接的表达式 (4)指定查询记录的选择条件 (5)设置排序和分组的选项 (6)选择查询结果的输出方式
第六章 查询与视图
![第六章 查询与视图](https://img.taocdn.com/s3/m/b7962390daef5ef7ba0d3c6d.png)
第一章 数据库基础
6.1 查询
分组查询 例:查询每个部门销售的商品的种数。 例:查询每种商品的销售总数。 例:查询每个学生的选课门数。 例:查询每门课程的选课人数。 分组筛选查询 查询销售总量大于40的商品的代码和销售总量。 查询选课门数在两门及以上的学生的学号及其选 课门数。
第一章 数据库基础
第一章 数据库基础
第六章 视图与查询
Contents
1 2
查询 视图
第一章 数据库基础
6.1 查询
6.1.1 查询的概念 查询文件是SQL查询功能的可视化操作结果, 其本质是包含一条SELECT查询语句的文本文件, 因此执行查询文件与在SELE查询语句上敲击回车 是一样的。
查询文件本身不包含数据,因此查询文件必须和相应表 一起使用。
第一章 数据库基础
6.1 查询
投影 例:查询所有部门的信息。 例:查询所有商品的名称和单价。 例:查询有过销售记录的部门的代码 例:查询所有商品的名称、单价及九折价 选择 例:查询价格在3000圆以上的商品的名称和单价
第一章 数据库基础
6.1 查询
例:查询单价大于5000或小于100的商品的信息 例:查询单价在100到500的商品的信息 例:查询单价小于100或大于500的商品的信息 例:查询商品代码为”s1”、”s3”和”s5”的商品的 信息 例:查询不是06年4月15日和8月20日生产的商品 的信息
第一章 数据库础
6.1 查询
多表连接查询 例:查询各部门销售进口商品的名称和数量。 例:查询各部门的销售情况,要求结果包括部门 名称,所售商品名称及相应商品销售总额(单价* 数量)。 例:查询每个部门的销售总额合计
第一章 数据库基础
6.2 视图
《Visual FoxPro 6.0数据库与程序设计》课件 第4章 查询和视图(电子版)
![《Visual FoxPro 6.0数据库与程序设计》课件 第4章 查询和视图(电子版)](https://img.taocdn.com/s3/m/ca64642a192e45361066f549.png)
利用查询设计器得到的查询文件是一个文本文件,用户可 以查看其内容。 打开查询设计器,选择“查询|查看SQL”命令,打开一个 只读窗口,其中显示了一条SQL语句,它包含了用户创建这个查 询的所有信息。
18
4.2.1 视图的概念
通过视图不仅可以从多个表中提取数据,还可以在改变视
图数据后,把更新结果送回到数据源表中。 视图不能以自由表文件的形式单独存在,它必须依赖于某 个数据库,并且只有在打开相关的数据库之后,才能创建和使
(6)运行查询,获得查询结果。
4
4.1.2 创建查询
1. 启动查询设计器 (1)项目管理器:选择 “查询”数据项,单击“新建”按钮, 出现“新建查询”对话框,选择“新建查询”命令,打开查询 设计器。 (2)菜单:选择“文件|新建”命令,在“新建”对话框中选 择“查询”文件类型,然后单击“新建文件”按钮。
第4章 查询和视图
2
4.1 查询
查询和视图是检索和操作数据库的两个基本手段。
两者都可以从一个或多个相关联的数据表中提取有用的信息。 查询可以根据表或视图定义,它不依赖于数据库而独立存在, 可以显示但不能更新由查询检索到的数据(查询结果是只读 的)。
视图兼有表和查询的特点,它可以更改数据源中的数据,但
例:将“学生1”表中的“学号”字段更名为“学生证编号“
ALTER TABLE 学生1 RENAME COLUMN 学号 TO 学生证编号
对“学生1”表中的“姓名”和“出生日期”字段建立主索引
ALTER TABLE 学生1 ADD PRIMARY KEY 姓名+DTOC(出生日期) TAG 姓名_生日
(3)命令:CREATE QUERY <查询文件名>
查询与视图VFP课件
![查询与视图VFP课件](https://img.taocdn.com/s3/m/bfe19dc58bd63186bcebbc20.png)
查询与视图
一 创建查询(打开查询设计器): 创建查询(打开查询设计器) 1.鼠标操作:“文件” →“新建” →“查询” →“新 1.鼠标操作:“文件” 建文件夹” 2. 命令操作: CREATE QUERY 查询文件名
二
介绍“查询设计器”
查询设计器下部分的窗口中有几个选项卡,其含义简介如 下: “字段”:对应于SELECT短语,用来选定包含在查询结果 中的字段 图之间的联接关系; “筛选”:对应于WHERE短语,用于指定查询条件; “排序依据”:对应于ORDER BY短语,用来指定排序的 字段和排序方式;
BY和HAVING短语,用于分组; “杂项”:可以指定是否要重复记录(DISTINCT)以及列在 前面的记录(TOP短语)
“分组依据”:对应于GROUP
三 查询的输出
鼠标操作:“查询” →“查询去向”
四 运行查询(先保存再运行)
鼠标操作: 单击“查询”/“运行查询”,或 “!”按钮 。 单击“查询”/“运行查询”,或 命令操作:Do 命令操作:Do 查询文件名 :查询文件名中一定要给出查询文件的扩展名.qpr :查询文件名中一定要给出查询文件的扩展名.qpr :单击“查询”/“查看SQL”,Select-SQL命令将文本窗口 :单击“查询”/“查看SQL”,Select-SQL命令将文本窗口 中显示
一
创建视图(打开视图设计器)
鼠标操作:打开 “数据库设计器” “文件”/“新建” “文件”/“新建” “视图” 命令操作:CREATE 命令操作:CREATE VIEW 视图文件名
数据库表,创建视图。
SQLSERVER2008实用教程实验参考答案解析(实验4)
![SQLSERVER2008实用教程实验参考答案解析(实验4)](https://img.taocdn.com/s3/m/240083f1cf2f0066f5335a8102d276a20029607a.png)
SQLSERVER2008实用教程实验参考答案解析(实验4)实验4 数据库的查询和视图一、SELECT语句的基本使用1. 查询Employees表中所有数据2. 查询Employees表中指定字段数据3. 查询Employees表中的部门号和性别,要求使用Distinct消除重复行4. 使用WHERE子句查询表中指定的数据查询编号为’000001’的雇员的地址和查询月收入高于2000元的员工查询1970年以后出生的员工的和住址5. 使用AS子句为表中字段指定别名查询Employees表中女雇员的地址和,并将列标题显示为地址和查询Employees表中男雇员的和出生日期,并将列标题显示为和出生日期6. 使用使用CASE子句查询Employees表中员工的和性别,要求Sex值为1时显示“男”,为0时显示“女”查询Employees表中员工的、住址和收入水平,2000元以下显示为低收入,2000~3000地显示为中等收入,3000元以上显示为高收入。
7. 使用SELECT语句进行简单计算计算每个雇员的实际收入8. 使用置函数获得员工总数计算Salary表中员工月收入的平均数获得Employees表中最大的员工计算Salary表中所有员工的总支出查询财务部雇员的最高和最低实际收入9. 模糊查询找出所有姓王的雇员的部门号找出所有地址中含有“”的雇员的及部门号找出员工中倒数第二个数字为0的员工的、地址和学历10. Between…And…和Or的使用找出收入在2000~3000元之间的雇员编号找出部门为“1”或“2”的雇员的编号11. 使用INTO子句,由源表创建新表由表Salary创建“SalaryNew”表,要求包括编号和收入,选择收入在1500元以上的雇员由表Employees创建“EmployeesNew”表,要求包括编号和,选择所有男员工二、子查询的使用1. 查找在财务部工作的雇员情况2. 用子查询的方法查找所有收入在2500以下的雇员的情况3. 查找财务部年龄不低于研发部雇员年龄的雇员4. 用子查询的方法查找研发部比所有财务部雇员收入都高的雇员的5. 查找比所有财务部的雇员收入都高的雇员的6. 用子查询的方法查找所有年龄比研发部雇员年龄都大的雇员的三、连接查询的使用1. 查询每个雇员的情况及薪水的情况2. 查询每个雇员的情况及其工作部门的情况3. 使用连接的方法查询名字为“王林”的雇员所在的部门4. 使用连接的方法查找出不在财务部工作的所有雇员信息5. 使用外连接方法查找出所有员工的月收入6. 查找财务部收入在2000元以上的雇员及其薪水详情7. 查询研发部在1976年以前出生的雇员及其薪水详请四、聚合函数的使用1. 求财务部雇员的平均收入2. 查询财务部雇员的最高和最低收入3. 求财务部雇员的平均实际收入4. 查询财务部雇员的最高和最低实际收入5. 求财务部雇员的总人数6. 统计财务部收入在2500元以上的雇员人数五、GROUP BY、ORDER BY子句的使用1. 查找Employees表中男性和女性的人数2. 按部门列出在该部门工作的员工的人数3. 按员工的学历分组,排列出本科、大专、硕士的人数4. 查找员工数超过2的部门名称和雇员数量5. 按员工的工作年份分组,统计各个工作年份的人数,例如工作1年的多少人,工作2年的多少人6. 将雇员的情况按收入由低到高排列7. 将员工信息按出生时间从小到大排列8. 在ORDER BY 子句中使用子查询,查询员工、性别和工龄信息,要求按实际收入从大到小排列六、视图的使用1. 创建视图(1)在数据库YGGL上创建视图Departments_View,视图包含Department表的全部列(2)创建视图Employees_Departments_View,视图包含员工、、所在部门名称(3)创建视图Employees_Salary_View,视图包含员工、和实际收入三列2. 查询视图从视图Employees_Salary_View中查询出为“王林”的员工的实际收入3. 更新视图(1)向视图Departments_View中添加一条记录(‘6’,‘广告部’,‘广告业务’)执行完命令后,分别查看Departments_View和Department表中发生的变化(2)尝试向Employees_Departments_View中添加一条记录,看看会发生什么情况(3)尝试向Employees_Salary_View中添加一条记录,看看会发生什么情况(4)将视图Departments_View中,部门号为‘6’的部门名称修改为‘生产车间’(5)删除视图Departments_View中最新增加的的一条记录4. 删除视图Employees_Departments_View5. 在界面工具中操作视图一、SELECT语句的基本使用1. 查询Employees表中所有数据SELECT*FROM Employees;2. 查询Employees表中指定字段数据SELECT EmployeeID,Name,DepartmentID FROM Employees;3. 查询Employees表中的部门号和性别,要求使用Distinct消除重复行SELECT Distinct DepartmentID,Sex FROM Employees;4. 使用WHERE子句查询表中指定的数据查询编号为’000001’的雇员的地址和Select Address,PhoneNumber FROM Employees WHERE EmployeeID='000001';查询月收入高于2000元的员工SELECT EmployeeID FROM Salary WHERE InCome>2000;查询1970年以后出生的员工的和住址SELECT Name,Address FROM Employees WHERE YEAR(Birthday)>'1970';SELECT Name,Address FROM Employees WHERE Birthday>'1970';5. 使用AS子句为表中字段指定别名查询Employees表中女雇员的地址和,并将列标题显示为地址和SELECT Address AS地址,PhoneNumber AS FROM Employees;查询Employees表中男雇员的和出生日期,并将列标题显示为和出生日期SELECT Name AS,Birthday AS出生日期FROM Employees WHERE Sex=1;6. 使用使用CASE子句查询Employees表中员工的和性别,要求Sex值为1时显示“男”,为0时显示“女”SELECT Name AS,CASEWHEN Sex=1 THEN'男'WHEN Sex=0 THEN'女'ENDAS性别FROM Employees;查询Employees表中员工的、住址和收入水平,2000元以下显示为低收入,2000~3000地显示为中等收入,3000元以上显示为高收入。
第6章 数据查询与视图
![第6章 数据查询与视图](https://img.taocdn.com/s3/m/b4277174580216fc700afdf0.png)
示例:
USE XS INDEX 学号 SEEK “020101” DISPLAY
一定要定界符
A=“990101” SEEK A DISPLAY
无需“&”
INDEX ON 出生日期 TO 出生日期 SEEK CTOD(“01-12-83”) && 或SEEK {83-01-12}
INDEX ON 团员 TO 团员 SEEK .T.
说明:
⑴ FIND命令是在索引文件中查询,找到后根据记录号从表 文件中读出相应的记录。因为一个表在同一时刻只能有一 个索引文件或一个索引标记为主控索引,因此,利用FIND 命令来查找记录时,只能查找主控索引字段的值。 ⑵ 查询的值可以是字符串,也可以是数值。通常字符串可 以不用定界符括起来,但是当字符是以空格开始时,则必 须用定界符括起来;如果要查找的字符串是以定界符开头 时,就必须用不同的定界符将其括起来。
姓名 周子康 王世洪 刘晓刚 李梦如 胡冬琴
平均成绩 85.0 67.3 85.5 90.3 77.5
例1:USE XS
INDEX ON 学号 TAG 学号
SET ORDER TO TAG 学号
FIND 990101 &&查找第一个学号为“990101”的记录
DISPLAY
A=“990109”
FIND &A
查找一个特定的数据子集; (5)“分组依据”:将一组类似的记录压缩成一个结果记录,
可以完成基于一组的计算。
要设计一个查询文件,首先必须明确查询的目的是什么,即 想要得到哪些数据,并以什么方式存在;或者想要得到满足 某些条件的特定记录,或者想要知道某些记录的字段值组合 成的表达式按某一方式输出。明确了输出的数据后,就可以 开始设计查询了,一般要通过以下几个步骤进行: (1)启动查询设计器; (2)选择出现在查询结果中的字段; (3)设置选择条件来查找可给出所需结果的记录; (4)设置排序或分组选项来组织查询结果; (5)选择查询结果的输出类型:表、报表、浏览等; (6)运行查询。
vf中查询与视图
![vf中查询与视图](https://img.taocdn.com/s3/m/3b0c9a3b59fafab069dc5022aaea998fcc224036.png)
视图相关命令
❖ 创建视图的命令 格式:CRATE VIEW <视图名>
❖ 定义视图命令: CREATE VIEW <视图名> AS
❖ 利用视图输出到表 方法:复制视图SQL代码,粘贴至命令框中,并
在语句结尾处加上输出语句:INTO TABLE <表名>
视图与查询的异同点:
视图与查询在功能上有许多相似之处,但又 有各自特点,主要区别如下: ❖ 功能不同:视图可以更新字段内容并返回 源表,而查询文件中的记录数据不能被修改。 ❖ 从属不同:视图不是一个独立的文件而从 属于某一个数据库。查询是一个独立的文件, 它不从属于某一个数据库。
(1)添加数据源,选择所需的表或视图。 (2)选择在查询结果中需要的字段。 (3)设置查询记录的条件。 (4)设置排序及分组条件来组织查询结果。 (5)选择查询输出类别,可以是报表、表文件、 图表、浏览窗口和表文件等等。 (6)运行此查询。
查询设计器工具栏
“查询设计器工具栏”各按钮的功能如 下: 按钮:添加数据库表。 按钮:移去数据库表。 按钮:添加数据库表间的联接。 按钮:显示SQL窗口。 按钮:最大化上部分窗口。 按钮:确定查询去向。
视图与查询的异同点:
❖数据源不同:视图必须是在数据库中使用数 据表,而查询的数据源可以是自由表。
❖输出去向不同:视图只能输出到表中,而查 询可以选择多种去向,如表、图表、报表、标 签、窗口等形式。
❖ 使用方式不同:视图只有所属的数据库被 打开时,才能使用。而查询文件可在命令窗口 中执行。
② 在命令窗口中,键入: MODIFY QUERY <查询文件名>
查ቤተ መጻሕፍቲ ባይዱ去向
单击“查询设计器”工具栏中的“查询去 向”按钮或在系统菜单中单击【查询】|【查 询去向】命令,弹出“查询去向”对话框。
第四章 视图查询-SQL语句
![第四章 视图查询-SQL语句](https://img.taocdn.com/s3/m/ef9e910fe87101f69e3195e6.png)
Байду номын сангаас
它是条件连接,这个条件称为连接条件或连 接谓词 可以是等值连接,也可以是不等值连接 新的关系的属性集是参加连接的关系的属性 的组合,不去除重复属性 Inner是缺省的连接方式 也可以用笛卡儿积 + 选择的方法实现
2.2.1 内联接
Join/inner join 列出两个表中仅满足联接条件的记录,为默认联接 类型。 例s22:查询每个已选课学生的全部信息及其选课 情况 SELECT xsda.*, xsxk.* FROM xsda INNER JOIN xsxk ON xsda.学号 = xsxk.学号; SELECT xsda.*, xsxk.* FROM xsda ,xsxk Where xsda.学号 = xsxk.学号;(笛卡尔乘积+选 择)
2.1.1选择列:投影运算
为列更改显示名称: select 列名1 as 新名称,…… from 表1 此用法并不实际更改数据表结构。 例s2:把rsda2中的name显示为职工姓名 Select name as 职工姓名,职称 from rsda2;
2.1.1选择列:投影运算
显示全部列 (1)select 后罗列出所有列名; (2)用*代替列名。 例s3:显示rsda中所有列 select * from rsda;
2.2.4 完全联接
Full outer join 完全联接:列出两个表的所有记录、不论是 否满足联接条件。 例s25: Select * from xsda full outer join xsxk on xsda.学号=xsxk.学号;
2.2.5 三表联接
查询与视图习题
![查询与视图习题](https://img.taocdn.com/s3/m/6450b2bf650e52ea551898b4.png)
8、设计查询的方法有多种,可以利用(查 询设计器)、(查询向导)、(SELECTSQL语句)创建查询。
9、查询设计器有(6)选项卡,分别是
(字段)、(联接)、(筛选)、(排序
计 算
依据)、(分组依据)、(杂项)。
机
教
研
组
10、视图设计器有(7)个选项卡,比查询 设计器多了(更新条件)选项卡。
11、创建查询可以基于(数据库表)、( 自由表)、(视图)
12、查询结果去向有(7)个,默认(浏
览),还有(临时表、表、图形、屏幕、
计 算
报表、标签)
机
教
研
组
13、视图与查询的最大区别在于视图可以 对源表中的数据进行(更新)。在创建视 图时,要更新数据,必须设置(更新条件 )
14、在视图设计器中“更新条件”选项 卡,单击“字段名”左侧带有钥匙图标 一列的按钮,在相应的字段前出现√, 计 即设置了视图中的(关键字段)
算 机 教 研 组
4、查询文件的扩展名是(.qpr )
5、用“查询设计器”创建多表查询时,需 要建立表之间的(联接)。
6、在建立联接时,必须选择一种联接类型。
联接类型有四种:( 内部联接 )、左联
接、右联接和( 完全联接 )。默认联
计 算
接类型是(内部联接)
机
教
研
组
7、视图设计器较查询设计器多(更新条件 ) 选项卡。
数据库应用基础
i
计算机教研组
1、视图与查询的根本区别是查询只能(查找) 指定的数据,而视图不但可以(查找)数据, 还可以(修改),并把(更新后结果)送回存 到源表中。
2、视图是在数据表的基础上创建的一种 虚拟表,它存在于(数据库)中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单选题:(1.0分)视图是一组存储在数据库中的特殊的表,当它被打开时,对于本地视图而言,系统将同时在其他工作区所基于的基表打开,这是因为视图包含一条_ __语句A. SELECT—SQLB. USEC. LOCATED. SET FILTER TO解答:A 答题正确参考答案:A2. 单选题:(1.0分)有关查询与视图,下列说法中不正确的是A. 查询是只读型数据,而视图可以更新数据源B. 查询可以更新数据源,视图也有此功能C. 视图具有许多数据库表的属性,利用视图可以创建查询和视图D. 视图可以更新源表中的数据,存储于数据库中解答:B 答题正确参考答案:B3. 单选题:(1.0分)不可以作为查询与视图的数据源的是A. 自由表B. 数据库表C. 查询D. 视图解答:C 答题正确参考答案:C4. 单选题:(1.0分)不可以作为查询和视图的输出类型A. 自由表B. 表单C. 临时表D. 数组解答:D 答题错误参考答案:B5. 单选题:(1.0分)视图与基表的关系是A. 视图随基表的打开而打开B. 基表随视图的关闭而关闭C. 基表随视图的打开而打开D. 视图随基表的关闭而关闭解答:A 答题错误参考答案:C6. 单选题:(1.0分)下列关于查询和视图的叙述中,正确的是查询和视图都A. 保存在数据库中B. 可以用USE命令打开C. 可以更新基表D. 可以作为列表框对象的数据源解答:D 答题正确参考答案:D7. 单选题:(1.0分)“查询”文件的扩展名为A. .prgB. .fpxC. .qprD. .qpx解答:C 答题正确参考答案:C8. 单选题:(1.0分)查询文件中保存的是A. 查询的命令B. 查询的结果C. 与查询有关的基表D. 查询的条件解答:参考答案:A9. 单选题:(1.0分)如果查询和视图的基表数据发生变化,要刷新查询和视图中的结果,正确的方法是A. 查询需要重新运行,视图可以用REQUERY( ) 函数B. 需重新创建查询和视图C. 查询需要重新运行,视图会自动刷新D. 查询和视图都会自动刷新解答:C 答题正确参考答案:C10. 单选题:(1.0分)对于视图不可以创建的是A. 字段的默认值B. 独立索引C. 临时关系D. 永久关系解答:B 答题错误参考答案:D11. 单选题:(1.0分)利用查询设计器创建的查询,其查询结果输出去向的默认类型是A. 临时表B. 浏览窗口C. 表D. 屏幕解答:C 答题错误参考答案:B12. 单选题:(1.0分)在SQL查询时,用where子句指出的是A. 查询条件B. 查询结果C. 查询目标D. 查询视图解答:A 答题正确参考答案:A13. 单选题:(1.0分)创建一个参数化视图时,应在筛选对话框的实例框中输入A. * 及参数名B. ?及参数名C. ! 及参数名D. 参数名解答:B 答题正确参考答案:B14. 单选题:(1.0分)下列_________子句可以实现分组结果的筛选A. GROUP BYB. HAVINGC. WHERED. ORDER解答:A 答题错误参考答案:B15. 单选题:(1.0分)使所有工人的基本工资增加10元的错误程序语句是A. REPLACE FOR 职务=”工人”基本工资WITH 基本工资+10B. SCAN FOR 职务=”工人”REPLACE 基本工资WITH 基本工资+10C. DO WHILE .NOT.EOF( ) REPLACE NEXT 1 FOR 职务=”工人”基本工资WITH 基本工资+10D. DO WHILE .NOT.EOF( ) .AND. 职务=”工人”REPLACE 基本工资WITH 基本工资+10解答:C 答题错误参考答案:D16. 单选题:(1.0分)下面有关对视图的描述正确的是A. 可以使用MODIFY STRUCTURE命令修改视图的结构B. 视图不能删除,否则影响原来的数据文件C. 视图是对表的复制产生的D. 使用SQL对视图进行查询时必须事先打开该视图所在的数据库解答:D 答题正确参考答案:D17. 单选题:(1.0分)视图设计器中含有的、但查询设计器中却没有的选项卡是A. 筛选B. 排序依据C. 分组依据D. 更新条件解答:D 答题正确参考答案:D18. 单选题:(1.0分)如果要在屏幕上直接看到查询结果,"查询去向"应该选择A. 屏幕B. 浏览C. 临时表或屏幕D. 浏览或屏幕解答:A 答题错误参考答案:D19. 单选题:(1.0分)使用菜单操作方法打开一个在当前目录下已经存在的查询文件zgjk.qpr后,在命令窗口生成的命令是A. OPEN QUERY zgjk.qprB. MODIEY QUERY zgjk.qprC. DO QUERY zgjk.qprD. CREATE QUERY zgjk.qpr解答:C 答题错误参考答案:B20. 单选题:(1.0分)有如下SQL语句:CREATE VIEW view_stock AS SELECT 股票名称AS名称,单价FROM stock执行该语句后产生的视图含有的字段名是A. 股票名称、单价B. 名称、单价C. 名称、单价、交易所D. 股票名称、单价、交易所解答:B 答题正确参考答案:B21. 单选题:(1.0分)下面关于查询描述正确的是A. 可以使用CREATE VIEW打开查询设计器B. 使用查询设计器可以生成所有的SQL查询语句C. 使用查询设计器生产的SQL语句存盘后将存放在扩展名为QPR的文件中D. 使用DO语句执行查询时,可以不带扩展名解答:D 答题错误参考答案:C22. 单选题:(1.0分)在SQL语句中,用来修改表结构的命令是A. modify tableB. modify structureC. alter tableD. alter structure解答:C 答题正确参考答案:C23. 单选题:(1.0分)SQL用于显示部分查询结果的TOP短语,必须与()短语同时使用A. order byB. joinC. group byD. from解答:D 答题错误参考答案:A24. 单选题:(1.0分)SQL命令DELETE *FROM SWHERE 年龄>50的功能是A. 删除S表B. 删除S表中的年龄列C. 从S表中彻底删除年龄大于50的记录D. 将S表中年龄大于50的记录加上删除标记解答:D 答题正确参考答案:D25. 单选题:(1.0分)在Visual FoxPro中,使用SQL命令将学生STUDENT中的学生年龄AGE字段的值增加1岁,应该使用的命令是A. REPLACE AGE WITH AGE+1B. UPDATE STUDENT AGE WITH AGE+1C. UPDATE SET AGE WITH AGE+1D. UPDATE STUDENT SET AGE=AGE+1解答:D 答题错误参考答案:C26. 单选题:(1.0分)用SQL语句从表STUDENT中查询所有姓王的同学的信息,正确的命令是A. SELECT*FROM STUDENT WHERE LEFT (姓名,2)="王"B. SELECT*FROM STUDENT WHERE RIGHT (姓名,2)="王"C. SELECT*FROM STUDENT WHERE TRIM (姓名,2)="王"D. SELECT*FROM STUDENT WHERE STR (姓名,2)="王"解答:A 答题正确参考答案:A27. 单选题:(1.0分)查询订购单号首字符是“P”的订单信息,应该使用命令A. SELECT * FROM 订单WHERE HEAD(订购单号,1)=“P”B. SELECT * FROM 订单WHERE LEFT(订购单号,1)= “P”C. SELECT * FROM 订单WHERE “P”$订购单号D. SELECT * FROM 订单WHERE RIGHT(订购单号,1)= “P”解答:B 答题正确参考答案:B28. 单选题:(1.0分)在SQL语句中,与表达式"工资BETWEEN 1210 AND 1240"功能相同的表达式是A. 工资>=1210 AND 工资<=1240B. 工资>1210 AND 工资<1240C. 工资<=1210 AND 工资>1240D. 工资>=1210 OR 工资<=1240解答:A 答题正确参考答案:A29. 单选题:(1.0分)在SQL语句中,与表达式"仓库号NOT IN("wh1","wh2")"功能相同的表达式是A. 仓库号="wh1" AND 仓库号="wh2"B. 仓库号!="wh1" OR 仓库号# "wh2"C. 仓库号<>"wh1" OR 仓库号!="wh2"D. 仓库号!="wh1" AND 仓库号!="wh2"解答:D 答题正确参考答案:D30. 单选题:(1.0分)查询有10名以上(含10名)职工的部门信息(部门名和职工人数),并按职工人数降序排列。
正确的命令是A. SELECT 部门名,COUNT(职工号)AS 职工人数FROM 部门,职工WHERE 部门.部门号=职工.部门号GROUP BY 部门名HAVING COUNT(*)>=10 ORDER BY COUNT(职工号)ASCB. SELECT 部门名,COUNT(职工号)AS 职工人数FROM 部门,职工WHERE 部门.部门号=职工.部门号GROUP BY 部门名HAVING COUNT(*)>=10 ORDER BY COUNT(职工号)DESCC. SELECT 部门名,COUNT(职工号)AS 职工人数FROM 部门,职工WHERE 部门.部门号=职工.部门号GROUP BY 部门名HAVING COUNT(*)>=10 ORDER BY 职工人数ASCD. SELECT 部门名,COUNT(职工号)AS 职工人数FROM 部门,职工WHERE 部门.部门号=职工.部门号GROUP BY 部门名HAVING COUNT(*)>=10 ORDER BY 职工人数DESC解答:C 答题错误参考答案:D。