第五章-查询
mysql课件第五章数据查询

常见的JOIN操作
J OIN操作用于将多个数据表中的数据进行联接。掌握J OIN操作的用法,可以更灵活、高效地组合和检 索数据。
内连接
外连接
只返回两个数据表中匹配的行。
返回两个数据表中所有的行, 不论是否匹配。
示例
SE LE CT * FROM customers JOIN orders ON customers.id = orders.customer_id;
语法
使用方法
SE LE CT * FROM table_name;
根据需要选择所需的列,指定 要查询的数据表并添加适当的 WHERE 子句以过滤结果。
示例
SE LE CT name, age FROM students WHERE age > 18;
条件查询和排序
使用WHE RE 子句可以根据指定的条件来筛选结果。而ORDER BY子句则可以使查询结果按照特定的 列进行升序或降序排序。
ቤተ መጻሕፍቲ ባይዱMySQL课件第五章数据查 询
在本节中,我们将介绍SQL查询的基础知识,包括基本SELECT语句的使用 方法、条件查询、排序、分组统计和常见的JOIN操作。
基本SELECT语句
使用SE LE CT语句来检索数据是SQL查询的基础。通过掌握SE LE CT语句的语法和使用方法,你可以轻 松地从数据库中获取所需的数据。
1
条件查询
使用WHE RE 子句和运算符(如=、<、>、LIKE 等)对数据进行条件筛选。
2
排序
使用ORDER BY子句对查询结果进行升序或降序排序。
3
示例
SE LE CT * FROM employees WHERE age > 30 ORDER BY salary DESC;
第五章数据库查询和数据库搜索

局部相似性和整体相似性
序列比对分类
整体比对:从全长序列出发,考虑序列的整体相似性
局部比对:考虑序列部分区域的相似性。
由于蛋白质的功能位点往往由较短的序列片段组成,故 尽管在序列的其它部位可能有插入、删除或突变,但是 这些部位的序列仍然具有相当大的保守性。此时,局部 相似性比对往往比整体比对具有更高的灵敏度,其结果 更具生物学意义。
生物序列相似性比较中绝大部分的问题在计算机科 学领域中主要体现为字符串的匹配和查找
相似性与同源性
相似性(Similarity):指序列比对过程中用来描述检测序 列和目标序列之间具有相同DNA碱基/氨基酸残基顺序所 占比例的高低 同源性(homology):如果两序列有一个共同的进化祖先, 那么称其为同源的。当两序列同源时,它们的氨基酸/核 苷酸序列通常有显著的一致性(identity)。 当相似程度高于50%时,比较容易推测检测序列和目标 序列可能是同源序列;而当相似性程度低于20%时,就 难以确定二者是否具有同源性。 两序列或者同源,或者不同源,所谓“具有50%同源 性”,或“这些序列高度同源”等说法,都是不确切的, 应该避免使用。
Hale Waihona Puke 可通过多种途径进行检索(名称、分类等级、序列等)
EBML SRS服务器界面
华南理工大学SRS服务器界面
SRS主要特点
统一的用户界面
安装通用网络浏览器即可查询世界上各地SRS服务器上的300多个 数据库 建立数据库索引文件,可快速高效实现查询,并可以某次查询结果 为子数据库进行进一步查询 超文本指针链接 可将序列分析等应用程序嵌入至基本查询中,做进一步分析及处理 数据库以文件系统的方式进行存放,便于更新和二次开发
MySQL数据库应用与管理 第5章 数据查询

2.简单查询
➢ (2)WHERE子句
使用BETWEEN AND进行范围比较查询
在WHERE子句中,可以使用BETWEEN AND关键字对指定字段的某一范 围内的数据进行比较查询,其与使用“>=”且“<=”的功能一样。其语法格 式如下:
字段名 [NOT] BETWEEN 值1 AND 值2
《MySQL数据库应用与管理》
2.简单查询
➢ (5)DISTINCT关键字
在对数据进行查询时,如果返回的查询结果中包含重复的记录,可 以使用DISTINCT关键字取消重复的数据,只返回其中的一条。其 语法格式如下:
SELECT DISTINCT 字段列表 FROM 表名;
《MySQL数据库应用与管理》
外连接
外连接显示包含来自一个表中所有行和来自另一个表中匹配行的结果集, 外连接主要又分为左外连接和右外连接。
《MySQL数据库应用与管理》
3.高级查询
➢ (1)多表查询
外连接
示例5-20:显示“网络131”班学生的学号、姓名、性别、班级、课程 ID和成绩。
《MySQL数据库应用与管理》
3.高级查询
《MySQL数据库应用与管理》
2.简单查询
➢ (2)WHERE子句
使用BETWEEN AND进行范围比较查询
示例5-9:使用BETWEEN AND关键字实现示例5-6的功能。 示例5-10:从score表中查询出成绩不在60-89分之间的学生的成绩信息。
《MySQL数据库应用与管理》
2.简单查询
《MySQL数据库应用与管理》
3.高级查询
➢ (1)多表查询
内连接
示例5-18:查询所有女生的学号、姓名、性别、课程ID和成绩。 示例5-19:查询学号(sNo)为“1308013101”学生的学号、姓名、性 别、班级、课程名称和成绩。
第8讲_第五章结构化查询语言_查询

例2:查询考试成绩有不及格的学生的学号
5.3.1简单查询_选择查询
2) Where 子句_确定范围 谓词BETWEEN…AND…和NOT BETWEEN…AND…可 以用来查找属性值在(或不在)指定范围内的元组。 例3:查询年龄在18-20岁之间的学生的姓名和年龄
An Introduction to Database System
24
5.3.1简单查询_聚合函数
3、聚合函数 SQL Server提供了一系列聚合函数。通过使用这 些函数可以实现数据集合的汇总或是求平均值等各 种运算。
5类主要集函数
计数
在计算时要取消指定列中的重 复值
COUNT([DISTINCT|ALL] *)/*返回找到的行数*/ COUNT([DISTINCT|ALL] <列名>)
示例数据库
学生-课程数据库
学生表:Student(Sno,Sname,Ssex,Sage,Sdept) 课程表:Course(Cno,Cname,Cpno,Ccredit) 学生选课表:SC(Sno,Cno,Grade)
5.3.1简单查询_选择查询
(1) Where 子句_比较大小 例1:查询所有年龄在简单查询-投影查询
(3)计算列值
在进行数据查询时,经常需要对查询到的数据进
行再次计算处理。 T-SQL允许直接在SELECT语句中使用计算列。 计算列并不存在于表格所存储的数据中,它是通 过对某些列的数据进行演算得来的结果。
第5章 数据查询操作--联结查询

联结查询一、表的基本联结创建表的基本联结,需要遵守的基本原则:FROM子句中列出所有联结的表的表名WHERE子句中定义联结条件联结条件由每个表中要用于联结的列和比较运算符组成如:o=o当列名为多个表共有时,要指明列的所在表1.查询每个教师的姓名、所在系、所教课程名及该课程的考试时间。
2.查询每个学生的姓名、所在系、所选修课程名称、该课程的考试时间、考试成绩和授课教师姓名。
二、采用join关键字建立联结语法格式:SELECT ……FROM first_table join_type second_tableON(join_condition)WHERE ……..1、内联结(inner join)(1).从STUDENT1表和TEACHER表中查询学生姓名、所在系、所修的所有课程的课程号及开课教师姓名。
(2).查询学生修的非本系教师开设的课程信息,包括学生的学号、姓名、所在系、课程号、成绩、以及开课教师的姓名。
2、外联结(outer join)【例】分别左联结、右联结和完全联结STUDENT1和COURSE1表,查询所有同学的学号、姓名、课程号、课程名称、考试时间和成绩。
查看结果的区别。
3、交叉联结(cross join)【例】交叉联结STUDENT1和COURSE1表,查询所有同学的学号、姓名、课程号、课程名称、考试时间和成绩。
在此基础上添加where子句,使其和两个表内联接效果相同?4、自联结【例】查询存在不及格课程的学生的姓名、所在系、所有的课程及成绩信息。
上机:联结查询综合练习题●student(sno,sname,sex,age)●course(cno,cname,credit)●s_c(sno,cno,grade)1.查询学生的学号、姓名、课程号和相应的成绩。
2.查询男学生成绩在60分以上的学生的学号、姓名、课程号、成绩。
3.查询所有学生的基本信息和选课情况,包括没有选课的学生。
4.查询同时选修C2和C3课程的学生的学号。
第五章 查询、视图与sql

第五章查询、视图与sql5.1 创建查询1、下列关于查询说法不正确的是(d)。
a)查询是预先定义好的一个sql select b)查询是visual foxpro支持的一种数据库对象c)查询是从指定的表或视图中提取满足条件的记录,可将结果定向输出d)查询设计器具有局限性,仅限于从单个表或视图中提取记录2、查询的数据源可以来自(d)。
a)自由表 b)视图 c)数据库表 d)以上均可3、关于查询的叙述,正确的是(d)。
a)不能根据自由表建立查询 b)只能根据自由表建立查询c)只能根据数据库表建立查询 d)可以根据数据库表和自由表建立查询4、利用命令方式打开查询设计器,应在命令窗口中输入(d)。
a)open view b)open query c)create view d)create query5、在visual foxpro中,如果建立的查询是基于多个表,那么要求这些表之间(b)。
a)必须是独立的 b)必须有联系 c)不一定有联系 d)必须是自由表6、查询设计器中包含的选项卡依次为(a)。
a)字段、连接、筛选、排序依据、分组依据、杂项b)字段、连接、筛选、分组依据、排序依据、杂项c)字段、连接、筛选、排序依据、分组依据、更新条件、杂项d)字段、连接、筛选、分组依据、排序依据、杂项、更新条件7、建立查询前,首先会弹出一个“添加表或视图”的对话框,它相当于sql select语句中的(b)。
a)select b)from c)where d)into8、在查询设计器中,“字段”选项卡相当于sql select语句中的(a)。
a)select 子句部分 b)from 子句部分 c)where 子句部分 d)into 子句部分9、sql select语句中的group by子句对应于查询设计器中的(d)。
a)“筛选”选项卡 b)“连接”选项卡 c)“排序依据”选项卡 d)“分组依据”选项卡10、查询设计器中“排序依据”选项卡对应的sql短语是(b)。
第5章_Access查询及其应用

第5章 Access查询及其应用
5.1 Access的五种查询 5.2 使用“简单查询向导”创建选择查询 5.3 使用“交叉表查询向导”创建查询 5.4 使用查询设计视图创建查询 5.5 操作查询 5.6 SQL查询
14
5.3 使用“交叉表查询向导”创建查询
结果如图所示,结果表的行为学生的姓名,列为各门成绩 以及总成绩。
15
5.4 使用查询设计视图创建查询
查询设计器
数据表显示区: 显示查询所用的
表或查询。
查询设计区:设计 具体的查询条件。 16
5.4 使用查询设计视图创建查询
查询设计区:
字段:查询工作表中使用的字段名称。 表:字段所在的表或查询的名称。 排序:确定是否该字段排序,以及按照何种方式排序。 显示:确定该字段是否在结果查询表中出现。 条件:指定该字段的查询条件。 或:可以提供多个查询准则。
11
5.3 使用“交叉表查询向导”创建查询
“选定字段”中,选择“姓名”作为交叉表的行标题,单 击“下一步”。
12
5.3 使用“交叉表查询向导”创建查询
选择“课程名称”作为交叉表的列标题,单击“下一 步”。
13
5.3 使用“交叉表查询向导”创建查询
“函数”中选择“求和” ,选中“是,包括各行小计”, 单击“下一步”。
交叉表查询
可以计算并重新组织数据的结构,如数据总计、平均值等。 例如,可以设计交叉表查询,来统计各学生每学期各门课 程的成绩及总成绩。
第五章 创建和使用查询

第五章创建和使用查询一.选择题1.下面关于查询的叙述,说法正确的是( D ).A.只有查询可以用来进行筛选、排序、浏览等工作B.数据表或窗体中也可以代替查询执行数据计算C.数据表或窗体中也可以代替查询检索多个表的数据D.利用查询可以轻而易举地执行数据计算,以及检索多个表的数据2.( D )不是查询的功能.A.筛选记录B.整理数据C.操作表D.输入接口3.以下关于筛选和查询的叙述中,说法正确的是( C ).A.在数据较多、较复杂的情况下使用筛选比使用查询的效果好B.查询只从一个表中选择数据,而筛选可以从多个表中获取数据C.通过筛选形成的数据表,可以提供给查询使用D.筛选将删除不符合条件的记录4.Access支持的查询类型有( A ).A.选择查询、交叉表查询、参数查询、SQL查询和操作查询B.基本查询、选择查询、参数查询、SQL查询和操作查询C.多表查询、单表查询、交叉表查询、参数查询和操作查询D.选择查询、统计查询、参数查询、SQL查询和操作查询5.以下不属于操作查询的是( A).A.交叉表查询B.生成表查询C.更新查询D.删除查询6.在查询设计视图中,( B ).A.只能添加数据库表B.可以添加数据库表,也可以添加查询C.只能添加查询D.以上说法都不对7.利用对话框提示用户输入参数的查询过程称为( B ).A.选择查询B.参数查询C.交叉表查询D.SQL查询8.( B )的结果不是动态集合,而是执行指定的操作,例如增加、修改、删除记录等.A.选择查询B.操作查询C.参数查询D.交叉表查询9.在SQL查询中,使用WHERE子句指出的是( B ).A.查询目标B.查询结果C.查询视图D.查询条件10.在SQL查询中,若要取得“学生”数据表中的所有记录和字段,则SQL语句为( B ).A.SELECT 姓名FROM 学生B.SELECT * FROM 学生C.SELECT 姓名FROM 学生 WHILE 学号=02650D.SELECT * FROM 学生 WHILE 学号=0265011.( A )不是生成表查询的使用时机.A.删除数据B.整理旧的数据C.备份重要数据D.当成其他对象的数据来源12.如果在数据库中已有同名的表,( C )查询将覆盖原有的表.A.删除B.追加C.生成表D.更新13.执行( D )查询后,字段的旧值将被新值替换.A.删除B.追加C.生成表D.更新14.参数查询可分为( C ).A.单参数查询B.多参数查询C.单参数查询和多参数查询D.都不是15.单参数查询可以输入( A )组条件.A.1B.2C.3D.416.下列关于准则的说法中,错误的是( D ).A.同行之间为逻辑“与”关系,不同行之间为逻辑“或”关系B.日期/时间类型数据须在两端加#C.Null表示空白无数据的意思,可在任意类型的字段中使用D.数字类型的条件需加上双引号(“”).17.下面表达式中,( A )执行后的结果是在“平均分”字段中显示“语文”、“数学”、“英语”3个字段中分数的平均值(结果取整).A.平均分:([语文]+[数学]+[英语])\3B.平均分:([语文]+[数学]+[英语])/3C.平均分: 语文 + 数学 + 英语 \3D.平均分: 语文 + 数学 + 英语 /318.在表达式中,为了与一般的数值区分,Access将文本型是数据用( C )号括起来.A.*B.#C.“”D.?19.若要查询成绩为70-80分(包括70分,不包括80分)的学生的信息,则查询准则设置正确的是( C )A.>69 OR <80B.Between 70 with 80C.>=70 And <80D.IN(70,79)20.若要在文本型字段执行全文搜索,查找以“Access”开头的字符串,则下列条件表达式正确的是( D ).A.Like“*Access*”B.Like“Access”C.Like“*Access”D.Like“Access*”…………..22.使用查询向导不可以创建(C).A.简单的选择查询B.基于一个表或查询的交叉表查询C.操作查询D.查找重复项查询23.利用向导创建查询对象中的>>按纽的作用是( B ).A.将“可用字段”列表框中选定的字段送到“选定字段”框中B.将“可用字段”列表框中的全部字段送到“选定字段”框中C.将“选定字段”列表框中的全部字段送到“可用字段”框中D.将“选定字段”列表框中的选定字段送到“可用字段”框中24.关于使用查询向导创建查询,叙述错误的是( D ).A.使用查询向导创建查询可以加快查询创建的速度B.创建的过程中,它提示并询问用户相关的条件C.创建的过程中,根据用户输入的条件建立查询D.使用查询向导创建查询的缺点在于创建查询后,不能对已创建的查询进行修改25.( A )是交叉表查询必须搭配的功能.A.总计B.上限值C.参数D.以上都不是26.Access提供的参数查询可在执行时弹出一个对话框以提示用户输入信息,只要将一般查询准则中的数据用( D )替换,并在其中输入提示信息就形成了参数查询.A.( )B.< >C.{ }D.[ ]27.( D )是交叉表查询的必要组件.A.行标题B.列标题C.值D.以上都是28.关于总计,叙述错误的是( A ).A.可以用作各种计算B.作为条件的字段也可以显示在查询结果中C.计算的方式有和、平均、记录数、最大值、最小值等D.任意字段都可以作为组29.关于运行操作查询的方法,错误的是( D ).A.保存关闭该查询后,再双击该查询B.在操作查询的设计视图中,选择“查询”菜单中的“运行”命令,或单击工具栏上的“运行”按纽来运行该查询C.选定“查询”对象,选定该查询后,单击窗口上部的“打开”按纽D.单击工具栏最左端的“视图”按纽,切换到数据表视图30.下列说法中,正确的是( B ).A.创建好查询后,不能更改查询中字段的排列顺序B.对已创建的查询,可以添加或删除其数据来源C.对查询的结果,不能进行排序D.上述说法都不正确31.以下关于查询的叙述,正确的是( C ).A.只能根据数据表创建查询B.可以根据数据表和已建查询创建查询C.只能根据已建查询创建查询D.不能根据已建查询创建查询32.关于查询,说法不正确的是( D ).A.查询可以作为结果,也可以作为来源B.查询可以根据条件从数据表中检索数据,并将其结果存储起来C.可以以查询为基础,来创建表、查询、窗体或报表D.查询是以数据库为基础创建的,不能以其他查询为基础创建33.Access中,查询的视图有3种方式,其中不包括( D ).A.设计视图B.数据表视图C.SQL视图D.普通视图34.关于打开查询的数据表视图的步骤,错误的是( C ).A.在查询对象列表中,双击要打开的查询B.在查询对象列表中,选定要打开的查询,单击“数据库”窗口上部的“打开”按纽C.在查询对象列表中,选定要打开的查询,单击“数据库”窗口上部的“设计”按纽D.在查询对象列表中,选定要打开的查询,在该查询上右击,弹出快捷菜单,选择“打开”命令35.查询的设计视图基本上分为3部分,( B )不是设计视图的组成部分.A.标题及查询类型栏B.页眉页脚C.字段列表区D.设计网格区36.用查询设计视图创建好查询后,可进入该查询的数据表视图观察结果,下列方法不能实现的是( C ).A.保存关闭该查询后,再双击该查询B.选定“表”对象,双击“使用数据表视图创建”快捷方式C.直接单击工具栏中的打开按纽D.单击工具栏最左端的“视图”按纽,切换到数据表视图37.若要用设计视图创建一个查询,查询所有姓“张”的女同学的姓名,性别和总分,则正确的设置查询准则的方法应为( C ).A.在“准则”单元格中输入:姓氏=“张” And 性别=“女”B.在“总分”对应的“准则”单元格中输入:总分;在“性别”对应的“准则”单元格中输入:“女”C. 在“姓名”对应的“准则”单元格中输入:Like“张*”;在“性别”对应的“准则”单元格中输入:“女”D.在“准则”单元格中输入:总分 OR性别=“女”AND姓氏=“张”38.如果要在某数据表中查找某文本型字段的内容以“S”开头,以“L”结尾的所有记录,则应该使用的查询条件是( A ).A.Like“S*L”B.Like“S#L”C.Like“S?L”D.Like“S$L”39.查询条件为“第2个字母为a,第3个字母为c,后面有个st连在一起”的表达式为( C).A.Like“*acst”B.Like“#ac$st”C.Like“?ac*st*”D.Like“?ac*st?”40.关于生成表查询的叙述,错误的是( D ).A.生成表查询是一种操作查询B.生成表查询是从一个或多个表中选出满足一定条件的记录来创建一个新表C.生成表查询将查询结果以表的形式存储D.生成表中的数据是与原表相关的,不是独立的,必须每次都生成以后才能使用41.关于更新查询,说法不正确的是( B ).A.使用更新查询可以将已有的表中满足条件的记录进行更新B.使用更新查询,一次只能对一条记录进行更改C.使用更新查询后就不能再恢复数据了D.使用更新查询效率比在数据表中更新数据效率高42.设某数据库表中有一个“姓名”字段,查找“李”的记录准则是(B).A.Not“李”B.Like“李”C.Left((姓名),1)=“李”D.“李”43.列出所有在1月1日和5月31日之间的日期,正确的表达式是( D ).A.>1.1 <5.31B.>1.1 and <5.31C.>1/1 and <5/31D.>=1/1 and <=5/3144.身份证号码是无重复的,但由于其位数较长,难免产生输入错误.为了查找表中是否有重复值,应该采用的最简单的查找方法是( C ).A.简单查询向导B.交叉表查询向导C.查找重复项查询D.查找匹配项查询45.( C )操作是在查询的某种视图中,打开“查询”菜单,然后单击要切换到的视图名称.A.打开查询的数据表视图B.打开查询的设计视图C.切换查询视图D.使用向导创建查询46.选定要打开的查询,按( A )组合键将以数据表视图方式打开查询.A.Alt+OB.Alt+DC.Alt+CD.Alt+H47.关于查询设计视图的3个部分,叙述错误的是( B ).A.标题及查询类型栏在窗口的最上方的标题栏中,在此处显示查询的标题和查询类型B.字段列表区在标题栏上方,显示打开的查询所应用的其他表C.如果查询中包括多个表或查询的字段列表,则在字段列表之间将会用连线来表示这些表与查询的关系D.在网格区中,用户可以指定查询中所使用和显示的字段48.当操作查询正在运行时,( A )能够中止查询过程的运行.A.按Ctrl+Break 组合键B.按Ctrl+Alt+Del 组合键C.按Alt+Break 组合键D.按Alt+F4 组合键49.关于追加查询,说法不正确的是( B ).A.在追加查询与被追加记录的表中,只有匹配的字段才能被追加B.在追加查询与被追加记录的表中,不论字段是否匹配都将被追加C.在追加查询与被追加记录的表中,不匹配的字段将被忽略D.在追加查询与被追加记录的表中,不匹配的字段不被忽略50.Access的选择查询可以按照指定的准则,从( D )个表中获取数据,并按照所需的排列次序显示.A.1B.2C.8D.多51.“利用查询得到的结果可以建立一个新表”是查询的( B )功能.A.选择字段B.建立新表C.选择记录D.编辑记录52.编辑查询中的字段不包括下列选项中的( B ).A.添加字段B.查询字段C.删除字段D.移动字段53.下列选项中,最常用的查询类型是( A ).A.选择查询B.交叉表查询C.参数查询D.SQL查询54.( A )的结果是一组数据记录,即动态集.A.选择查询B.交叉表查询C.参数查询D.SQL查询55.( B )是利用表中的行和列来统计数据的.A.选择查询B.交叉表查询C.参数查询D.SQL查询56.( C )也可以作为窗体或报表的基础.A.选择查询B.交叉表查询C.参数查询D.SQL查询57.( D )是利用SQL语句来创建的.A.选择查询B.交叉表查询C.参数查询D.SQL查询58.下列选项中,不属于SQL查询的是( C ).A.联合查询B.传递查询C.操作查询D.定义查询59.下列选项中,不属于关系运算符的是( D ).A.=B.>C.<D.=/60.下列选项中,不属于逻辑运算符的是( B ).A.NotB.InC.AndD.Or61.下列选项中,不属于特殊运算符的是( D ).A.InB.LikeC.BetweenD.Int62.在Access中,Between的含义是( B ).A.用于指定一个字段值的列表,列表中的任意一个值都可与查询的字段相匹配B.用于指定一个字段值的范围,指定的范围之间用And连接C.用于指定查找文本字段的字符模式D.用于指定一个字段为空63.下列函数中,表示“返回字符表达式中值的最大值”的函数是( C ).A.SumB.CountC.MaxD.Min64.在下列字符函数中,用来表示“返回字符表达式中的字符..A ).个数..”的是(A.LenB.CountC.TrimD.Sum65.在准则中,字段名必须用( B )括起来.A.小括号B.方括号C.引号D.大括号66.若要查询20天之内参加工作的记录,应选择的工作时间的准则是( B ).A.<Date( )-20B.Between Date( ) And Date( )-20C.<Date( )-21D.>Date( )-2167.空字符串是用( B )括起来的字符串,且中间没有空格.A.大括号B.双引号C.方括号D.#号68.在数据库窗口中,单击“查询”对象,再单击“新建”按纽,可以打开( D )对话框.A.查询向导B.创建查询C.简单查询向导D.新建查询69.使用( D )视图,可以创建带条件的查询.A.查询B.使用向导创建查询C.查询向导D.查询设计70.在查询设计视图的“设计网格”区,包括7行已命名的行,其中不包括( C ).A.字段B.显示C.查询D.准则71.用于指定一个字段值的列表,列表的任意一个值都可以与查询的字段相匹配的特殊运算符是( A ).A.InB.Is NullC.BetweenD.Like72.( B )的SELECT语句不能定义联合查询或交叉表查询.A.参数查询B.子查询C.传递查询D.定义查询73.选择“视图”菜单中的( A )命令,可以对记录进行总计查询.A.合计B.总计C.求和D.统计74.总计查询需在查询设计视图中的( B )行中完成.A.准则B.总计C.或D.显示75.创建交叉表查询时,用户可以指定( A )总计类型的字段.A.1个B.2个C.多个D.无76.要运行查询,可以直接( A )要运行的查询.A.双击B.单击C.连续单击三次D.右击77.总计项中的Group By表示的意义是( A ).A.定义要执行计算的组B.求在表或查询中第一条记录的字段值C.指定不用于分组的字段准则D.创建表达式中包含统计函数的计算字段78.若要统计员工人数,需在“总计”行单元格的下拉列表中选择函数( B ).A.SumB.CountC.VarD.Avg79.( B )是指根据一个或多个表中的一个或多个字段并使用表达式建立新字段.A.总计B.计算字段C.查询D.添加字段80.创建交叉表查询时,行标题最多可以选择( C )字段.A.1个B.2个C.3个D.多个81.如果创建交叉表的数据源来自多个表,可以先建立( B ).A.一个表B.查询C.选择查询D.以上都不对82.如果“列标题”字段的值为小数,Access将在数据表中以( C )取代此字符.A.乱码B.引号C.下划线D.无法识别83.创建( B )查询,就是在字段中指定一个参数,在执行时,用户输入一个参数值.A.参数B.单参数C.多参数D.操作84.如果在一个已建立的查询中创建参数查询,执行“保存”命令后,原查询将( B ).A.保留B.被新建的参数查询所替换C.自动更名D.替换新建的参数查询85.创建单参数查询是时,在“设计网格”区中输入“准则”单元格的内容即为( D ).A.查询字段的字段名B.用户任意指定的内容C.查询的条件D.参数对话框中的提示文本86.下列查询中,( B )查询可以从多个表中提取数据,组合起来生成一个新表永久保存.A.参数B.生成表C.追加D.更新87.关于操作查询,下列说法不正确的是( D ).A.如果用户经常要从几个表中提取数据,最好的方法是使用Access提供的生成表查询B.使用Access提供的删除查询一次可以删除一组同类的记录C.在执行操作查询前,最好单击工具栏上的“视图”按纽,预览即将更改的记录D.在使用操作查询前,不用进行数据备份88.删除查询可以从单个表中删除记录,也可以从多个相互关联的表中删除记录.如果要从多个表中删除相关记录,必须满足3个条件,下列不符合的选项是( D ).A.在“关系”窗口中定义相关表之间的关系B.在“关系”对话框中选中“级联删除相关记录”复选框C.在“关系”对话框中选中“实施参照完整性”复选框D.在“关系”对话框中选中“实体完整性”复选框89.如果只删除指定字段中的数据,可以使用( B )查询将该值改为空值.A.删除B.更新C.生成表D.追加90.关于SQL查询,下列说法不正确的是( D ).A.SQL查询是用户使用SQL语句直接创建的一种查询B.Access的所有查询都可以认为是一个SQL查询C.使用SQL可以修改查询中的准则D.使用SQL不能修改查询中的准则91.设置排序可以将查询结果按一定的顺序排列,以便于查询.如果所有的字段都设置了排序,那么查询结果将先按( A )排序字段进行排序.A.最左边B.最右边C.最中间D.随机92.如果一次添加多个字段,则按住( B )键并单击要添加的字段.A.ShiftB.CtrlC.AltD.Tab93.( B )主要包括添加字段、修改记录和删除记录等.A.选择记录B.编辑记录C.修正记录D.实现计算94.Like属于( C ).A.关系运算符B.标准运算符C.特殊运算符D.逻辑运算符95.假设某数据表中有一个“姓名”字段,查找姓名为“王大”或“刘五”的记录的准则是( D ).A.Not“王大”,“刘五”B.Len([姓名])= “王大”,“刘五”C.Left([姓名])= “王大”,“刘五”D.IN(“王大”,“刘五”)96.若要计算各类职称的教师人数,需要设置“职称”和( C )字段,对记录进行分组统计.A.工作职称B.性别C.姓名D.以上都不是97.返回当前系统日期的函数是( D ).A.Date(date)B.Date(day)C.Day(Date)D.Date( )98.查询“设计网格”中作为“用于确定字段在查询中的运算方法”的行的名称是(D ).A.表B.准则C.字段D.总计99.创建了总计查询后,单击工具栏上的“视图”按纽,将其切换到( A )视图,可以查看总计后的结果.A.数据表B.设计C.SQLD.大纲100.创建交叉表查询时,用户需要指定3种字段,下列选项中不属于这3种字段的是( D ).A.放在数据表最左端的行标题,它把某一字段或相关的数据放入指定的一行中B.放在数据表最上面的列标题,它对每一列指定的字段或表进行统计C.放在数据表行与列交叉位置上的字段D.放在数据表最下面的字段二.填空题1.在Access中,( 操作 )查询的运行一定会导致数据表中数据的变化.2.一般情况下,查询可分为 ( 选择查询 )、(参数查询)、(交叉表查询)、操作查询和SQL查询5种.3.若要获得今天的日期,可使用( Date( ) )函数;若要获得当前的日期及时间,可使用( Now( ) )函数.4.在设置查询的“准则”时,可以直接输入表达式,也可以使用表达式( 生成器 )来帮助创建表达式.5.要确定“库存量”乘以“单价”的平均值是否大于等于¥500且小于等于¥1000,可输入(AVG(库存量*单价) BETWEEN500 AND 1000).6.在交叉表查询中,只能有一个( 列标题 )和值,但(行标题 )可以是一个或多个.7.假设某个表有10条记录,如果要筛选前5条记录,可在查询属性“上限值”中输入( 5 )或( 50% ).8.创建动作查询时,首先要( 保护 )数据,因为动作查询会改变表中数据.9.查询中的计算可以分为( 预定义计算 )和( 自定义计算 ).10.如果需要运行选择或交叉表查询,则只需双击该查询,Access就会自动运行或执行该查询,并在( 数据表 )视图中显示结果.11.如果需要运行操作查询,则先在设计视图中将其打开,对于每个操作查询,会有不同的显示:( 生成表查询 )显示包括在新表中的字段;( 追加查询 )显示添加到另一个表中的记录.12.在“总计”行上,共提供了( 12 )个总计项.13.在查询中,根据查询的数据源数量,将查询分为( 多表查询 )和( 单表查询 ).14.如果查询的结果中还需要显示某些另外的字段的内容,用户可以在查询的( 设计)视图中加入某些查询的字段.15.在总计计算时,要指定某列的平均值,应输入( AVG(列名));要指定某列中值的一半,应输入( [列名]*0.5 ).…………………………………………19.要创建查询时,有些实际需要的内容(字段)在数据源的字段中并不存在,但可以通过在查询中增加( 计算字段 )来完成.20.创建交叉表查询有两种方法,一种是使用简单( 交叉表查询向导 )创建交叉表查询,另一种是使用( 设计视图 )创建交叉表查询.21.在参数查询过程中,用户可以通过设定查询参数的类型来确保用户输入的参数值的正确性.设定的方法是,选择“查询”菜单中的( 参数 )命令来设置.……………23.以“图书馆管理系统”为例,当读者从图书馆借出一本书之后(在“借出书籍”表中新增加一条记录),此时就可以运行( 更新查询 )来将“书籍”表中该书的“已借本数”字段值进行改变.24.按( F11 )键可以切换到“数据库”窗口.25.若要查找小于60或大于100的数,则设定的条件表达式为( <60 or >100 )26.利用( 查找重复项查询 )可以确定在表中是否有重复的记录,或记录在表中是否共享相同的值.27.交叉表查询利用表中的行和列进行数据的统计,在行与列的( 交叉 )处显示表中某个字段的统计值.28.参数查询是利用对话框来提示用户输入( 准则 )的查询.29.操作查询与选择查询的相同之处在于二者都是由用户指定查找记录的条件,但不同之处在于选择查询是检查符合条件的一组记录,而操作查询是( 在一次查询操作中对所有结果进行编辑 )等操作.30.操作查询有( 生成表查询 )、(删除查询)、(更新查询)和(追加查询)4种.31.运算符是组成准则的基本元素,Access提供了( 关系运算符 )、( 逻辑运算符 )和( 特殊运算符 )3种运算符.32.当( Or )连接的表达式有一个为真时,整个表达式为真,否则为假.33.在查询设计视图窗口中的“设计网格”区中,由一些字段列和已命名的行组成,其中已命名的行有( 7 )行.34.在特殊运算符中,( IS Null )用于指定一个字段为空.35.用于表示数值表达式的绝对值的函数是( ABS(数值表达式) ).36.用于返回去掉字符表达式前导空格的字符串的函数是( Ltrim ).37.用于返回字符表达式中的最小值的函数是( Min(字符表达式) ).38.使用文本值作为查询准则时,文本值要用( 半角的双引号 )括起来.39.空值使用( Null )或( 空白)来表示字段的值.40.书写查询准则时,日期值应该用( 半角的#号 )括起来.41.若要查询1987年出生的职员的记录,可使用的准则是( Year([出生日期])=1987 ).42.建立查询的方法有两种,分别是( 使用查询向导 )和( 设计视图 ).43.打开数据库窗口,单击( 查询 )对象,然后双击“使用向导创建查询”选项,可打开“简单查询向导”对话框.44.查询的结果是一组数据记录,即( 动态集 ).45.“查询”设计视图窗口分为上下两部分,上半部分为(字段设计)区,下半部分为“设计网格”.46.使用设计视图时,会打开一个“显示表”对话框,其中包含3个选项卡,分别是(表)、(查询)和(两者都有).47.在表的字段列表中选择字段并放在“设计网格”区的字段行上,选择字段的方法有3种,其中最简单的一种方法是( 双击选中的字段).48.求表或查询中最后一条记录的字段值的总计项是( Last ).49.( 预定义 )计算就是所谓总计的计算,是系统提供的用于对查询中的记录组或全部记录进行计算的计算.50.对于自定义计算,必须直接在“设计网格”区中创建新的( 计算字段 ).。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.7 建立交叉表查询
一种特殊类型的汇总查询——交叉表 查询。交叉表查询生成的动态集看起来像 一个二维表格,在表格中生成汇总计算值。 【交叉表】行用于确定作为二维表格 行标题和列标题的字段以及行列交叉汇总字段。
按照性别分类,统计不同职称的人数是多少?
交叉表反映每个学生各科成绩?
交叉表查询结构
用于显示查询要使用的表或其它查询;
下半部分叫范例查询设计网格:
用于确定动态集所拥有的字段和筛选条件等。 设置如下几行:
【字段】行:用于设置查询所涉及到的字段。 【表】行:用于指明字段所归属的表。 【排序】行:用于设置查询的排序准则。 【显示】行:用于确定相关字段是否在动态集中 出现。它以复选框的形式出现, 当复选框选中 时,相关字段将在动态集中出现。 【条件】行:用于设置查询的筛选条件。 【或】行:以多行的形式出现。
3、部分匹配查询
当不知道完全精确的値时,用户还可以使用LIKE或 NOT LIKE进行部分匹配查询(也称模糊查询)。 LIKE定义的一般格式为: <属性名> LIKE <字符串常量>
属性名必须为字符型,字符串常量的字符可以包含如 下两个特殊符号: *:表示任意长度的字符串; ?:表示任意单个字符。
将2003-2004年度第二学期“不及格”的 学生相关内容生成到一新表。
三、建立追加查询
追加查询是将从表或查询中筛选出 来的记录添加到另一个表中去。 要被追加记录的表必须是已经存在 的表。这个表可以是当前数据库的,也 可以是另外一个数据库的。 追加查询对于从表中筛选记录添加 到另一个表中是很有用的。
四、建立删除查询
删除查询是在指定的表中删除筛选出 来的记录。在所有动作查询中,删除查询 是最危险的。因为删除查询将永久地和不 可逆地从表中删除记录。 另外删除查询是删除整条记录,而不 是指定字段中的数据。
5.9 SQL查询
SQL查询是使用SQL语句创建的查询。
SQL简介
SQL是结构化查询语言(Structured Query Language)的缩写,其功能包括数据查询、数 据操纵、数据定义和数据控制四个部分。
5.8 建立动作查询
动作查询(Action Query)是建立在选 择查询基础之上的查询。动作查询可以在 一个操作中更改许多记录。 分为四种类型: 生成表查询 追加查询 删除查询 更新查询
一、建立更新查询
更新查询是在指定的表中对筛选出来的 记录进行更新操作。更新查询用在需要一 次更新许多数据的操作中。
Count:根据指定的字段计算每一组中记录的个数。 StDev:根据指定的字段计算每一组的统计标准差。 Var:根据指定的字段计算每一组的统计方差。 First: 根据指定的字段获取每一组中首条记录该字段
的值。
Last: 根据指定字段获取每一组中最后一条记录该字
段的值。
Expression:用以在设计网格的“字段”行中建立计
查询种类:
选择查询 参数查询 交叉表查询 动作查询(操作查询) SQL查询
5.2 建立查询
一、创建查询
方法一、使用向导; 方法二、利用设计视图,基本步骤如下:
建立查询 修改查询 运行查询
添加字段、删除字段、移动字段
二、查询设计视图的结构:
分为上下两部分: 上半部分叫表/查询输入区:
在查询“设计”视图中创建查询时, Access 将在后台构造等效的SQL语句。 Access中所用的查询都可以认为是SQL查 询。 在建立ACCESS的查询时,并不是所有 的查询都可以在查询设计视图中进行创 建,有的查询功能只能通过SQL语句来实 现。
一、使用SELECT语句
1、SQL语言提供SELECT语句,通过查询操作可得到 所需的信息。SELECT语句的一般格式为: SELECT [ALL / DISTINCT] */选择列表 FROM 表名 [WHERE〈条件表达式〉] [GROUP BY <列名1> [HAVING <条件表达式>]] [ORDER BY <列名2> [ASC|DESC]];
学生;
例3 查询教师授课详细情况。 SELECT 教师.教师编号,教师.姓名,教师授课.课程编 号,教师授课.班级ID,教师授课.授课时间,教师授 课.授课地点 from 教师,教师授课 where 教师.教师编号=教师授课.教师编号;
2、多重条件查询
当要在表中找出满足某些条件的行时,则需使用 WHERE子句指定查询条件。 WHERE子句中,条件通常通过三部分来描述: 1.列名; 2.比较运算符; 3.列名、常数。
3、日期条件
日期性数据两端应加#(如不写,会自动添上) #78-12-12#
4、在查询中指定多个条件
在【条件】行和【或】行中,相邻行中设置 的筛选条件彼此之间存在逻辑或(OR)的关系。 但是在同一【条件】行或【或】行的不同列 中输入的多个筛选条件,它们彼此之间存在逻辑 与(AND)的关系。
二、建立计算表达式
如:每个人的基本工资都上调10%; 更改一些错误;
将姓名为“宋思思”的学生姓名改为 “宋丝丝”
二、建立生成表查询
生成表查询是把从指定的表或查询中 筛选出来的记录集生成一个新表。这对于 从若干个表中获取数据并需要将数据永久 保留的任务是非常方便的。
需要注意的是: 利用生成表查询建立新表时,新表中 的字段从生成表查询的源表中继承字段 名称、数据类型以及【字段大小】属性 。 但是不继承其它的字段属性以及表的 主键。如果要定义主键或其它的字段属 性,要在表设计视图中进行。
– – –
在何处编写SELECT语句?
– 按下“在设计视图中创建查询”选 项,在显示表的窗口内直接按“关 闭”按钮,此时就是设计视图的窗 口。接着按下“视图”按钮下的 “SQL视图”,即进入SQL语句 的编写模式。
例1 查询学生的学号、姓名和性别。 SELECT ALL 学号,姓名,性别 FROM 例2 查询学生的全部信息。 SELECT * FROM 学生;
第五章 数据查询
5.1 查询的特点
查询是在数据库的表对象中根据给定的 条件筛选记录或者进一步对筛选出来的 记录做某种操作的数据库对象。 Access 允许用户在前台(选择查询设 计视图窗口)通过直观的操作构造查询, 系统自动在后台(SQL视图窗口)生成 对应的SQL语句。
筛选出来的记录组成为一个动态集 (Dynaset)并以数据表视图的方式显示。 动态集是一个临时表,当用户关闭动态 集数据表视图的时候,动态集消失。 查询对象仅仅保存查询的结构——查询 所涉及到的表和字段、排序准则、筛选 条件等。 运行查询所生成的动态集具有很大的灵 活性,适合作为报表和窗体的数据源。
【总计】行用于为参与汇总计算的所有字段设 置汇总选项。【总计】行共有12个选项,它们 分别是:
Group By选项:用以指定分组汇总字段。 Sum选项:为每一组中指定的字段进行求和运算。 Avg选项:为每一组中指定的字段进行求平均值运算。 Min选项:为每一组中指定的字段进行求最小值运算。 Max选项: 为每一组中指定的字段进行求最大值运算。
三、运行查询
三种方法:
l 在选择查询设计视图中直接单击工具栏上的 【运行】按钮 。 l 在选择查询设计视图中直接单击工具栏上的 【视图】按钮 。 l 在【数据库】窗口中,首先选择要运行的查 询,然后单击【打开】按钮 。
四、修改查询
对于建立好的查询,可以进行设计修改。 撤消字段 插入字段 移动字段 命名字段
首先在打开的选择查询设计视图中,单击 工具栏上的【总计】按钮,Access 在设 计网格中增加【总计】行。
如:统计男、女各多少人?
统计不同职称的人数是多少?
如:统计每个老师所开设的课程数?
如:统计“ACCESS8”班的“计算机基础 与操作(下)”课程的平均成绩?
如:统计“ACCESS8”班“女生”的“计算 机基础与操作(下)”课程的平均成绩?
5.5 查询中的计算
有时,用户可能对表中的每一条记录 并不十分关心,而关心的仅仅是每一个学 生的总成绩、平均成绩等汇总结果。为了 获得这些汇总数据,要在查询中执行计 算。 查询中的计算有两种:预定义计算和 自定义计算。
预定义计算用于对查询中的分组记录 或全部记录进行“总计”计算,比如求 总和、平均值、计数、最小值、最大值、 标准偏差或方差,Access通过聚合函数 来完成这些计算。
例6 查询成绩在60分以下的学生姓名、班级、成绩。
SELECT 学生.姓名, 学生.班级ID, 学生选课及 成绩.成绩 from 学生, 学生选课及成绩 where 学生.学号=学生选课及成绩.学号 and 学生选课及成绩.成绩<60;
当WHERE子句需要指定一个以上的查询 条件时,则需要使用逻辑运算符AND、 OR和NOT将其连结成复合的逻辑表达式。 其优先级由高到低为:NOT、AND、OR, 用户可以使用括号改变优先级。
SELECT语句的执行过程是:
– 根 据 WHERE 子 句 的 检 索 条 件 , 从 FROM子句指定的基本表中选取满足条 件的元组(记录),再按照SELECT子 句中指定的列,投影得到结果表。 如果有GROUP子句,则将查询结果按 照<列名1>相同的值进行分组。 如果GROUP子句后有HAVING短语,则 只输出满足HAVING条件的元组。 如果有ORDER子句,查询结果还要按 照<列名2>的值进行排序。
数据查询语句:数据查询命令是SELECT 数据定义语句(DATA DEFINITION LANGUAGE, 简称DDL)实现其数据定义功能,可对数据库 用户、基本表、视图、索引进行定义和撤消。 数据控制语句 (Data Control Language,简 称DCL)对数据库进行统一的控制管理。 数据操纵语句( Data Manipulation Language ,DML)及其编译程序,实现对数据 库的基本操作,包括检索、插入、修改、删除 等。