第4章-数据库2(含作业13)
- 格式:pdf
- 大小:964.32 KB
- 文档页数:51
第1章数据概述一.选择题1.下列关于数据库管理系统的说法,错误的是CA.数据库管理系统与操作系统有关,操作系统的类型决定了能够运行的数据库管理系统的类型B.数据库管理系统对数据库文件的访问必须经过操作系统实现才能实现C.数据库应用程序可以不经过数据库管理系统而直接读取数据库文件D.数据库管理系统对用户隐藏了数据库文件的存放位置和文件名2.下列关于用文件管理数据的说法,错误的是DA.用文件管理数据,难以提供应用程序对数据的独立性B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序C.用文件存储数据的方式难以实现数据访问的安全控制D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数据的效率3.下列说法中,不属于数据库管理系统特征的是CA.提供了应用程序和数据的独立性B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合C.用户访问数据时,需要知道存储数据的文件的物理信息D.能够保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据丢失5.在数据库系统中,数据库管理系统和操作系统之间的关系是DA.相互调用B.数据库管理系统调用操作系统C.操作系统调用数据库管理系统D.并发运行6.数据库系统的物理独立性是指DA.不会因为数据的变化而影响应用程序B.不会因为数据存储结构的变化而影响应用程序C.不会因为数据存储策略的变化而影响数据的存储结构D.不会因为数据逻辑结构的变化而影响应用程序7.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作系统之间,属于AA.系统软件B.工具软件C.应用软件D.数据软件8.数据库系统是由若干部分组成的。
下列不属于数据库系统组成部分的是BA.数据库B.操作系统C.应用程序D.数据库管理系统9.下列关于客户/服务器结构和文件服务器结构的描述,错误的是DA.客户/服务器结构将数据库存储在服务器端,文件服务器结构将数据存储在客户端B.客户/服务器结构返回给客户端的是处理后的结果数据,文件服务器结构返回给客户端的是包含客户所需数据的文件C.客户/服务器结构比文件服务器结构的网络开销小D.客户/服务器结构可以提供数据共享功能,而用文件服务器结构存储的数据不能共享数据库是相互关联的数据的集合,它用综合的方法组织数据,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,具有安全控制机制,能够保证数据的安全、可靠,允许并发地使用数据库,能有效、及时地处理数据,并能保证数据的一致性和完整性。
第4章关系数据库设计理论习题一、选择题1、C2、B3、C4、C5、A6、B7、A8、B9、D10、B二、填空题1、数据依赖主要包括_函数_依赖、_多值_依赖和连接依赖。
2、一个不好的关系模式会存在_插入异常_、_删除异常_和__修改复杂_等弊端。
3、设X→Y为R上的一个函数依赖,若_对任意X的真子集X’,均无X’→Y 存在__,则称Y完全函数依赖于X。
4、设关系模式R上有函数依赖X→Y和Y→Z成立,若_Y不包含于X_且_Y→X不成立_,则称Z传递函数依赖于X。
5、设关系模式R的属性集为U,K为U的子集,若_K→U为完全函数依赖_,则称K为R的候选键。
6、包含R中全部属性的候选键称_主属性_。
不在任何候选键中的属性称__非主属性_。
7、Armstrong公理系统是_有效__的和_完备__的。
8、第三范式是基于_函数_依赖的范式,第四范式是基于_多值_依赖的范式。
9、关系数据库中的关系模式至少应属于_第一_范式。
10、规范化过程,是通过投影分解,把_一个范式级别较低的_的关系模式“分解”为_若干个范式级别较高__的关系模式。
三、简答题1、解释下列术语的含义:函数依赖、平凡函数依赖、非平凡函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、范式、无损连接性、依赖保持性。
解:函数依赖:设关系模式R(U,F),U是属性全集,F是U上的函数依赖集,X和Y 是U 的子集,如果对于R(U)的任意一个可能的关系r,对于X的每一个具体值,Y都有唯一的具体的值与之对应,则称X函数决定Y,或Y函数依赖于X,记X→Y。
我们称X为决定因素,Y为依赖因素。
当Y不函数依赖于X时,记作:X Y。
当X→Y且Y→X时,则记作:X Y。
平凡函数依赖:当属性集Y是属性集X的子集时,则必然存在着函数依赖X→Y,这种类型的函数依赖称为平凡的函数依赖。
非平凡函数依赖:如果Y不是X子集,则称X→Y为非平凡的函数依赖。
完全函数依赖与部分函数依赖:设有关系模式R(U),U是属性全集,X和Y是U的子集,X→Y,并且对于X的任何一个真子集X',都有X'Y,则称Y对X完全函数依赖(Full−f Y。
数据库原理与运用第4章部分习题答案一、选择题(1)C (2)D (3)C (4)C (5)A(6)B (7)C (8)C (9)A (10)D二、填空题(1) DDL(2) 自含式,嵌入式(3)DROP,DELETE(4)基本表或视图(5)更新(6)CREATE,ALTER,DROP(7)AND,OR,NOT(8)INSERT,UPDATE,DELETE(9)HAVING(10)INTO三、操作题1.每个关系建立相应的表结构,添加若干记录。
CREA TE T ABLE S(SNO V ARCHAR(5) NOT NULL PRIMARY KEY,SNAME V ARCHAR(20) NOT NULL,ADDRESS NV ARCHAR(30),TEL V ARCHAR(20))INSERT INTO S V ALUES(‘S1’,’SN1’,’上海南京路’,’68564345’)……CREA TE T ABLE P(PNO V ARCHAR(5) NOT NULL PRIMARY KEY,PNAME V ARCHAR(20) NOT NULL,SPEC V ARCHAR(20),CITY NV ARCHAR(20);COLOR NV ARCHAR(2))INSERT INTO P V ALUES(‘P1’,’PN1’,’8x8’,’无锡’,’红’)……CREA TE T ABLE J(JNO V ARCHAR(5) NOT NULL PRIMARY KEY,JNAME V ARCHAR(20) NOT NULL,LEADER V ARCHAR(10),BG INT)INSERT INTO J V ALUES(‘J1’,’JN1’,’王总’,10)……CREA TE T ABLE SPJ(SNO V ARCHAR(5) NOT NULL,PNO V ARCHAR(5) NOT NULL,JNO V ARCHAR(5) NOT NULL,QTY INT,CONSTRAINT PR_SPJ PRIMARY KEY(SNO,SPNO,JNO)) INSERT INTO SPJ V ALUES(‘S1’,’P1’,’J1’,200)……2.完成如下查询:(1)找出所有供应商的姓名和地址、电话。
第4章数据库安全性1 .什么是数据库的安全性?答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
2 .数据库安全性和计算机系统的安全性有什么关系?答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。
只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。
系统安全保护措施是否有效是数据库系统的主要指标之一。
数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的,3 .试述可信计算机系统评测标准的情况,试述TDI / TCSEC 标准的基本内容。
答:各个国家在计算机安全技术方面都建立了一套可信标准。
目前各国引用或制定的一系列安全标准中,最重要的是美国国防部(DoD )正式颁布的《DoD 可信计算机系统评估标准》(伽sted Co 哪uter system Evaluation criteria ,简称TcsEc ,又称桔皮书)。
(TDI / TCSEC 标准是将TcsEc 扩展到数据库管理系统,即《可信计算机系统评估标准关于可信数据库系统的解释》(Tmsted Database Interpretation 简称TDI , 又称紫皮书)。
在TDI 中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。
TDI 与TcsEc 一样,从安全策略、责任、保证和文档四个方面来描述安全性级别划分的指标。
每个方面又细分为若干项。
4 .试述T csEC ( TDI )将系统安全级别划分为4 组7 个等级的基本内容。
答:根据计算机系统对安全性各项指标的支持情况,TCSEC ( TDI )将系统划分为四组(division ) 7 个等级,依次是D 、C ( CI , CZ )、B ( BI , BZ , B3 )、A ( AI ) ,按系统可靠或可信程度逐渐增高。
这些安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。
习题61、说明数据库设计的特点。
1)三分技术,七分管理,十二分基础数据2)综合性3)结构(数据)设计和行为(处理)设计相结合2、试述数据库设计的过程3、试述数据库设计过程的各个阶段设计内容。
1)需求分析阶段需求分析是对用户提出的各种要求加以分析,对各种原始数据加以综合、整理,是形成最终设计目标的首要阶段。
需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。
2)概念结构设计阶段概念结构设计是对用户需求进行进一步抽象、归纳,并形成独立于DBMS和有关软、硬件的概念数据模型的设计过程。
3)逻辑结构设计阶段逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化的设计过程。
4)物理设计阶段数据库物理设计阶段,是将逻辑结构设计阶段所产生的逻辑数据模型,转换为某种计算机系统所支持的数据库物理结构的实现过程。
5)数据库实施阶段数据库实施阶段,即数据库调试、试运行阶段。
一旦数据库的物理结构形成,就可以用已选定的DBMS来定义、描述相应的数据库结构,装入数据库数据库,以生成完整的数据库,编制有关应用程序,进行联机调试并转入试运行,同时进行时间、空间等性能分析。
6)数据库运行和维护阶段数据库实施阶段结束,标志着数据库系统投入正常运行工作的开始。
在数据库系统运行过程中必须不断地对其进行评价、调整与修改。
4、需求分析中发现事实的方法有哪些?1)跟班作业。
通过亲身参加业务工作来观察和了解业务活动的情况。
2)开调查会。
通过与用户座谈来了解业务活动的情况及用户需求。
3)检查文档。
通过检查与当前系统有关的文档、表格、报告和文件等,进一步理解原系统,并有利于提供与原系统问题相关的业务信息。
4)问卷调查。
5、需求分析阶段的设计目标是什么?调查的内容是什么?需求分析阶段的目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,确定企业的组织目标,明确用户的各种需求,进而确定新系统的功能,并把这些要求写成用户和数据库设计者都能够接受的文档。
《数据库技术与应用》第4章习题答案《数据库技术与应用》第4章习题答案第4章关系数据库标准语言sql1.试述关系数据库标准语言sql的特点。
求解:sql语言是一种功能强大、通用性好又简单易学的语言,主要特点包括:综合统一:sql语言将数据定义语言ddl、数据压低语言dml、数据掌控语言dcl的功能集于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动。
高度非过程化:用sql语言展开数据操作方式只要明确提出“搞什么”,而无须阐明“怎么做”。
面向子集操作方式:sql使用子集操作方式方式。
不仅查阅的结果可以就是元组的子集,而且一次插入、更新、删除操作的对象也可以是元组的集合。
积极支持关系数据库的三级模式结构:外模式对应于视图(view),模式对应于基本表中,内模式对应于存储文件。
简约易学,有效率功能强大:sql语言简约,只有少量关键字,语法直观。
sql的采用方式非常灵活,可以直接通过sql实现人机交互,还可以将sql语句嵌入到其他高级语言程序中来使用。
2.概述sql的基本功能。
解:sql语言就是一种综合的、通用型的、功能强大的关系数据库语言,集数据查阅(dataquery)、数据压低(datamanipulation)、数据定义(datadefinition)和数据掌控(datacontrol)功能于一体。
数据定义功能。
主要用于定义、删除和修改关系数据库中的对象,数据库对象主要包括基本表、视图等。
数据查阅功能。
运用select语句去同时实现查阅数据的功能。
数据压低功能。
主要用作减少、删掉和修正数据库中的数据。
数据掌控功能。
主要用以掌控用户对数据库的操作方式权限,包含数据库安全掌控和事物管理两部分。
3.什么是基本表?什么是视图?两者的区别和联系是什么?解:基本集是本身单一制存有的表中,在sql中一个关系就对应一个表中。
企图从一个或几个基本表中求出的表中。
企图本身不单一制存储在数据库中,就是一个虚表。
大数据技术原理与应用第四章课后作业黎狸1.试述在Hadoop体系架构中HBase与其他组成部分的相互关系。
HBase利用Hadoop MapReduce来处理HBase中的海量数据,实现高性能计算;利用Zookeeper作为协同服务,实现稳定服务和失败恢复;使用HDFS作为高可靠的底层存储,利用廉价集群提供海量数据存储能力; Sqoop为HBase的底层数据导入功能,Pig 和Hive为HBase提供了高层语言支持,HBase是BigTable的开源实现。
2.请阐述HBase和BigTable的底层技术的对应关系。
3.请阐述HBase和传统关系数据库的区别。
4.HBase有哪些类型的访问接口?HBase提供了Native Java API , HBase Shell , Thrift Gateway , REST GateWay , Pig , Hive 等访问接口。
5.请以实例说明HBase数据模型。
6.分别解释HBase中行键、列键和时间戳的概念。
①行键标识行。
行键可以是任意字符串,行键保存为字节数组。
②列族。
HBase的基本的访问控制单元,需在表创建时就定义好。
③时间戳。
每个单元格都保存着同一份数据的多个版本,这些版本采用时间戳进行索引。
7.请举个实例来阐述HBase的概念视图和物理视图的不同。
8.试述HBase各功能组件及其作用。
①库函数:链接到每个客户端;②一个Master主服务器:主服务器Master主要负责表和Region的管理工作;③③许多个Region服务器:Region服务器是HBase中最核心的模块,负责存储和维护分配给自己的Region,并响应用户的读写请求9.请阐述HBase的数据分区机制。
每个行区间构成一个分区,被称为“Region”,分发到不同的Region服务器上。
10.HBase中的分区是如何定位的?通过构建的映射表的每个条目包含两项内容,一个是Regionde 标识符,另一个是Region服务器标识,这个条目就标识Region和Region服务器之间的对应关系,从而就可以知道某个Region被保存在哪个Region服务器中。
数据库课后习题作业答案《数据库系统概论》课程习题及参考答案第⼀章绪论(教材37页)1.试述数据、数据库、数据库系统、数据库管理系统的概念。
答:数据:描述事物的符号记录称为数据。
数据的种类有⽂字、图形、图像、声⾳、正⽂等等。
数据与其语义是不可分的。
数据库:数据库是长期储存在计算机内、有组织的、可共享的数据集合。
数据库中的数据按⼀定的数据模型组织、描述和储存,具有较⼩的冗余度、较⾼的数据独⽴性和易扩展性,并可为各种⽤户共享。
数据库系统:数据库系统(DBS)是指在计算机系统中引⼊数据库后的系统构成。
数据库系统由数据库、数据库管理系统(及其开发⼯具)、应⽤系统、数据库管理员构成。
数据库管理系统:数据库管理系统(DBMS)是位于⽤户与操作系统之间的⼀层数据管理软件。
⽤于科学地组织和存储数据、⾼效地获取和维护数据。
DBMS 主要功能包括数据定义功能、数据操纵功能、数据库的运⾏管理功能、数据库的建⽴和维护功能。
2.使⽤数据库系统有什么好处?答:使⽤数据库系统的好处是由数据库管理系统的特点或优点决定的。
使⽤数据库系统的好处很多,例如可以⼤⼤提⾼应⽤开发的效率,⽅便⽤户的使⽤,减轻数据库系统管理⼈员维护的负担等。
为什么有这些好处,可以结合第 5题来回答。
使⽤数据库系统可以⼤⼤提⾼应⽤开发的效率。
因为在数据库系统中应⽤程序不必考虑数据的定义、存储和数据存取的具体路径,这些⼯作都由 DBMS来完成。
此外,当应⽤逻辑改变,数据的逻辑结构需要改变时,由于数据库系统提供了数据与程序之间的独⽴性。
数据逻辑结构的改变是 DBA的责任,开发⼈员不必修改应⽤程序,或者只需要修改很少的应⽤程序。
从⽽既简化了应⽤程序的编制,⼜⼤⼤减少了应⽤程序的维护和修改。
使⽤数据库系统可以减轻数据库系统管理⼈员维护系统的负担。
因为 DBMS 在数据库建⽴、运⽤和维护时对数据库进⾏统⼀的管理和控制,包括数据的完整性、安全性,多⽤户并发控制,故障恢复等等都由DBMS执⾏。
获得数据库的SQL脚本*☐展开数据库,然后用鼠标右击ScoreManager数据库☐选择“任务”“生成脚本”。
出现图导出SQL脚本对话框☐在”常规”卡上,用鼠标点击”全部显示”按钮,然后选中”编写全部对象”复选框。
☐在“设置格式”卡中,一般选择”为每个对象生成Create命令”和”为每个对象生成Drop命令”两项就可以。
☐在“选项”卡上,根据需要,把“表脚本选项”下的选择项都选中☐最后选择“确定”按钮,输入脚本的名字用脚本迅速恢复数据库结构*为何创建数据库SQL脚本?☐数据库设计过程是一个逐步改进的过程☐数据库程序存在测试,测试过程中,会产生垃圾数据☐数据库交付用户时,需要在用户的数据库服务器电脑上建立数据库☐经常是产生一个最初始化的空数据库☐此时就用数据库脚本如何使用脚本?☐进入查询分析器☐把脚本调入到查询分析器☐执行,数据库及表就生成了。
关系实例studentNo name birthday sex courseNo courseName studentNo courseNo score 030318古待1986-1-2女S01高数一020301F0998 020301张名1989-1-1男L02数值算法010101L0278 010201张简1981-2-2女J04操作系统010101J0489 030501许昌1987-9-8男F09德语010201J0179 030502刘放1988-1-9男F01日语010101J0491 010101李灿1981-9-2男J01数据库010101J0199 010503顾争1988-2-7男020002郭洁1988-1-5女关系的规范化studentNo studentName sex courseNo courseName grade 10001李灿男J01数据库99 10001李灿男J04操作系统89 10001李灿男L02数值算法78 10021张简女F09德语100 10021张简女J01数据库78 10021张简女J04操作系统91 20031张名男F09德语98问题:数据冗余大插入异常、删除异常、更新异常更新、插入异常☐更新异常:删除学号为150的学生的选课记录,丢掉了学生150选修“市场营销学”的事实,还失去了“市场营销学”的学分是2的事实。
☐插入异常:若有一门“法律”课,学分为3,但无学生选修时,不能输入“法律”课。
学号课程学分100 人工智能3125 文化学2150 市场营销学2175 人工智能3190 文化学2消除异常的方法:模式分解若将以上的学生关系分解成学生-选课、课程-学分关系,更新异常、插入异常就都可消除了,对关系进行分解的过程就是规范化过程。
学号课程100人工智能125文化学150市场营销175人工智能190文化学课程学分人工智能3文化学2市场营销2学生选课关系课程学分关系数据依赖—1. 函数依赖属性之间相互依赖、相互制约的关系被称为数据依赖函数依赖:给定一个属性A 的值,可以获得另一个属性B 的值。
则称属性A 决定属性B,或称属性B 依赖属性A ,记做“属性A→属性B”436面向对象X002354数值分析X001672编译原理Z006572操作系统Z004254C 程序设计J003672数据库J001授课学期授课学时课程名课程号例如,若已知“课程名”的值,便可知道“授课学时”。
“授课学时”依赖于“课程名”,或“课程名”决定“授课学时”。
记作“课程名→授课学时”。
2.部分依赖定义:非主属性只依赖于主键的一部分。
学号姓名课程号课程名学分0100101李灿J01数据库40100101李灿J04操作系统40100101李灿L02数值算法30100201张简J01数据库40100101李灿J04操作系统40200301张名F09德语60100201张简F09德语6下表的主键是{学号,课程号}。
主键{学号,课程号}决定了“学分”的值。
但“学分”只由“课程号”决定,与“学号”无关,“学分”只由主键{学号,课程号}的一部分决定,这种依赖称为部分依赖。
记作“学分→{学号,3、传递依赖一个非主属性看似依赖主属性,其实依赖于另一非主属性。
80081506004120500213050021002楼号500180收费学号下表的主键是“学号”,学生住宿的楼号依赖于学号。
但是,学生应交的住宿费是由楼号决定的,也就是说,“收费”依赖于“楼号”,这是一种新的依赖关系:“楼号”依赖于“学号”,而“收费”又依赖于“楼号”。
这种依赖关系称为“传递依赖”。
记作“学号→收费”。
关系规范化(良构关系)遵循关系设计的范式范式是符合某一规范级别的关系模式的集合。
共有六种范式:1NF ⊃2NF ⊃3NF ⊃BCNF ⊃4NF ⊃5NF规范化:通过分解把属于低级范式的关系模式转换为几个属于高级范式的关系模式的集合,这一过程称为规范化(Normalization)。
第一范式(First Normal Form ,1NF )定义:如果一个关系模式R 的所有属性都是不可分的基本数据项,则关系R 属于第一范式。
符合第一范式的关系可能有插入、删除异常。
例如:在关系“选课”中,存在着部分依赖:学分→{学号,课程号}它导致插入、删除异常。
集合、数组、结构不符合条件非1NF1NFp第二范式(Second Normal Form ,2NF )✓定义:若关系模式R 属于第一范式,且每个非主属性都完全函数依赖于主键,则R 属于第二范式。
t✓注意:单个属性作为主键的关系自动就是第二范式。
✓第二范式中的关系存在更新异常.例如:(学号、楼号、收费),虽然学号是单属性主键,属于第二范式,而楼号、收费都由学号决定,存在传递依赖关系:“学号→收费”将导致更新异常。
第三范式---良构关系✓定义:如果一个关系R属第二范式,且每个非主属性都不传递依赖于主键,则R属于第三范式。
学号楼号1002 1204 1302 1508 1802楼号收费2500 4600 2500 8800 2500✓例如:学生住宿关系可以分解为两个关系:学生-楼号关系(学号,楼号)和楼号-收费关系(楼号,收费)。
这两个关系属于第三范式。
4.4结构化查询语言SQL (Structured Query Language):pronounced“sequel”,是一种描述和操纵关系数据库语言。
标准SQL包括数据定义语言、数据操纵(查询、更新)语言。
T-SQL (Transact-SQL):是微软对标准SQL的扩展,添加了流程控制语句交互式SQL:联机交互使用方式,在SSMS的查询编辑器中执行SQL语句。
嵌入式SQL:作为子语言嵌入到其他程序设计语言中使用,称为嵌入式SQL。
SQL语言基础数据库语言:☐数据定义语言DDL☐数据操纵语言DML☐数据控制语言DCLSQL语言=DDL+DML+DCL重点掌握:☐4个数据操纵语句:select、insert、update、delete☐数据定义语句: create table(创建表)、*修改表、*删除表Select语句—查询语法格式:SELECT[ALL|DISTINCT]<目标列1,列2,…> FROM<表1[as<别名1>],表2[as<别名2>],…> [WHERE<条件表达式>][GROUP BY<列名>[HAVING<条件表达式>]] [ORDER BY<列名>[ASC|DESC]]目标列DISTINCT为去掉查询结果中重复的行,默认为ALL,既列出所有的记录;目标列的格式:列名1 [as 别名1] <,列名2[ as 别名2,…,列名n[ as 别名n]>,省略别名,返回的结果集中以列名标记,否则以别名标记,如果目标列用*表示,则返回表中的所有的列;目标列还可以是常数表达式或SQL中的聚合函数,如Sum、Count、Avg等函数;所有的列名都必须存在于FROM后的表中,或出现于left join, inner join, full outer join之后的表,如果列名存在于FROM后的多个表中,则必须标明该列来源于哪个表,格式为:表名.列名;From,Where,Group by,Order by子句FROM子句指明了从哪些表或视图中得到数据,WHERE 子句有双重作用,一是返回需要的记录,另一种是建立多表之间的内连接联合查询。
GROUP BY 用来对查询结果进行分组,把某一列值相同的记录分成一组,与聚合函数如Sum、Count等联合使用;在有Group子句时,可以进一步使用HAVING子句对分组后的记过进行过滤显示,是分组提取条件;ORDER BY 是查询结果的排序方式,后面跟ASC为升序,DESC为降序,默认为升序。
简单查询-单表例1. 已知选课表tblSelectCourse(studentNo,courseNo,grade), 查询学生修课表中成绩大于80分的学生信息:☐SELECT *☐FROM tblSelectCourse☐WHERE grade>80注意: 1) 结果仍是一个表。
☐2) WHERE中的表达式:是由逻辑运算符AND、OR、NOT连接起来的条件。
如果操作数是字符串或者字符、日期类型的,就要用单引号把它括起来。
☐3) 除字符常量中的英文字母外,SQL对英文字母大小写不敏感。
字符串查询例2. 已知tblCourse(courseNo,courseName), 查询课程名中含有‘数学’的课程号和课程名☐SELECT courseNo, courseName☐FROM tblCourse☐WHERE courseName like '%数学%'字串处理函数:len,substring(studentName,1,1),大小写转换函数:Upper,Lower等如:Select len(‘abcd’)日期类型查询例3. 已知tblStudent(studentNo,studentName,birthday,sex),查询生日在1989年到1991年之间的学生的学号,姓名☐SELECT studentNo,studentName☐FROM tblStudent☐WHERE birthday BETWEEN '1989-01-01' AND '1991-12-31'时间日期处理函数:getDate();返回当前日期时间。
Year( dateTime类型字段)Month(dateTime类型字段)Day(dateTime类型字段)等dateDiff(day,‘2013-4-12’, ‘2013-4-13’) 两日期之差(后-前)以天为单位记值为NULL的查询例4. 已知tblSelectCourse(studentNo,courseNo,grade) 列出每个旷考学生的学号。