关系数据库标准语言

合集下载

vf第四章关系数据库标准语言SQL

vf第四章关系数据库标准语言SQL

4.2.8 利用空值查询
SQL支持空值,当然也可以利用空值进 行查询。 假设在订购单关系中,一名职工正在准 备订购单,但尚未选定供应商,这样若把信 息存入数据库,则供应商号和订购日期两个 属性均为空值,在前面给出的订购单记录中 有3个这样的记录。
例4.23 找出尚未确定供应商的订购单。 SELE * FROM 订购单 WHER 供应商号IS NULL 结果是: E6 NUIL OR77 NULI E1 NULL OR80 NUIJL E3 NUIJL OR90 NUI„L 注意:查询空值时要使用IS NULL,而= NULL是无效的,因为空值不是一个确定的 值,所以不能用“=”这样的运算符进行比较。
例4.20 求在WH2仓库工作的职工的最高工资值。
SELECT MAX(工资) FROM 职工 WHERE 仓库号=”WH2”
4.2.7 分组与计算查询
利用GROUP BY子句进行分组计算查询。 GROUP BY短语的格式如下: Group by 字段名 having 条件 可以按一列或多列分组,还可以用HAVING 进一步限定分组的条件。 例4.21 求每个仓库的职工的平均工资。 SELECT 仓库号,AVG(工资) FROM 职工 GROUP BY 仓库号
可以看到,在这个命令中含有两个 SELECT—FROM—WHERE查询块,即内 层查询块和外层查询块,内层查询块检索 到的仓库号值是WHl和WH2,这样就可以 写出等价的命令: SELE 城市 FROM 仓库 WHERE 仓库号; IN(”WHl”,”WH2”) 这里IN相当于集合运算符∈。
例4.9查询所有职工的工资都多于1210元的仓 库的信息。 这个检索要求也可以描述为:没有一个职工的工 资少于或等于1210元的仓库的信息。 不在以下范围 这样可以有SQL命令: SELE * FROM 仓库 WHER 仓库号 NOT IN; (SELECT 仓库号 FROM 职工 WHERE ; 工资<=1210) 内层SELECT—FROM—WHERE查询块指出所 有职工的工资少于或等于1210元的仓库的仓库号值 的集合,然后从仓库关系中检索元组的仓库号属性 值不在该集合中的每个元组。

第七章-关系数据库标准语言SQL

第七章-关系数据库标准语言SQL

Access中数据类型
字符 日期/时间 短整型 单精度型 长整型 双精度型
说明
熟悉掌握 熟悉掌握 熟悉掌握 熟悉掌握 熟悉掌握
BIT / LOGICAL MEMO MONEY
IMAGE
逻辑型 备注 货币
OLE对象
教学进度
计算机科学与工程系
数据定义: SQL语言的数据定义主要包括表和索引的创建、修改 和删除操作。 1. 建立数据表
教学进度
答案
create table 订单明细
计算机科学与工程系
(订单号 char(8),
图书编号 char(5),
数量 smallint , primary key(订单号,图书编号), foreign key(订单号) references 订单(订单号),
foreign key(图书编号) references 图书(图书编号)
ALTER TABLE 订单 ALTER COLUMN 客户编号 INT; ALTER TABLE 订单 DROP 客户名称;
教学进度
计算机科学与工程系
3. 删除数据表 格式:DROP TABLE <表名> 功能:删除表。 说明:表一旦被删除,表中的数据、此表上建立的索引 和查询等结构都将自动被删除,并且无法恢复,因此一定要 格外小心。 例如:删除订单明细表。 DROP TABLE 订单明细
教学进度
计算机科学与工程系 ④ CHECK是域完整性约束,用于输入列值时对输入数据进行有效 性检查。(Acess中的sql直接不支持check关键字,可以用Access表的设计 视图中“有效性规则”完成)。 ⑤ UNIQUE唯一性约束,要求不同记录在此字段上取值不能相等。 例如,CREATE TABLE 系 (系编号 CHAR(5) NOT NULL, 系名称 CHAR(20) NOT NULL UNIQUE, 系主任 CHAR(20), 学院编号 CHAR(5), PRIMARY KEY(系编号), FOREIGN KEY(学院编号) REFERENCES 学院(学院编号)); 说明:UNIQUE 唯一性约束则要求姓名不能有重名。 另外,完整性约束主要掌握前2种。

第5章 SQL语言

第5章 SQL语言
SELECT 职工号,城市 FROM 职工,仓库 ; WHERE (工资>2230) AND(职工.仓库号=仓库.仓库号) • 仓库关系和职工关系之间存在一个一对多的联系。
例 5.7 找出工作在面积大于 1400 的仓库的职工号 以及这些职工所在的城市
SELECT 职工号,城市 FROM 职工,仓库 ; WHERE (面积>1400) AND(职工.仓库号=仓库.仓库号)
若使用SELECT SUM(DISTINCT工资) FROM 职工
举例
例5.15 求北京和上海的仓库职工的工资总和
SELECT SUM(工资) FROM 职工 WHERE 仓库号 IN ; (SELECT 仓库号 FFROM 仓库 WHERE 城市=”北京” OR; 城市=”上海”)
例5.16 求所有职工的 工资都多于2210元的仓库的平均 面积
[UNION …] [ORDER BY …]
• SELECT说明要查询的数据 • FROM说明要查询的数据来自哪个或哪些表, 可以对单个表或多个表进行查询; • WHERE说明查询条件,即选择元组的条件; • GROUP BY短语用于对查询结果进行分组, 可以利用它进行分组汇总; • HAVING短语必须跟随GROUP BY 短语使 用,它用来限定分组必须满足的条件; • ORDER BY 用来对查询的结果进行排序。
“武汉”的“SH4”仓库还没有职工,但该仓库的信息 也被检索出来了。
举例
• 排除那些还没有职工的仓库,检索要求描述 为: 查询所有的职工工资都多于 2210元的 仓库的信息,并且该仓库至少要有一名职工.
SELECT * FROM 仓库 WHERE 仓库号 NOT IN ; (SELECT 仓库号 FROM 职工 WHERE 工资<=2210) ; AND仓库号IN (SELECT 仓库号 FROM 职工)

关系数据库标准语言SQ

关系数据库标准语言SQ

WHERE (职工.仓库号=仓库.仓库号) AND (工资>1230)
例4.7 找出工作在面积大于400的仓库的职工 号以及这些职工工作所在的城市. 分析 条件:面积>400 联接条件:(职工.仓库号=仓库.仓库号) 查询涉及表:仓库,职工 查询结果字段:职工号,城市 语句:SELE 职工号,城市 FROM 仓库,职工 WHERE;

(面积>400) AND (职工.仓库号=仓库.仓库号)
3、嵌套查询


外查询的条件来自内查询的结果
在SQL语句中,一个SELECT-FROM-WHERE语句称 为一个查询块。将一个查询块嵌套在另一个查询块的 WHERE子句或HAVING短语的条件中的返回多个值 NOT IN :属于关系 联接条件:公共字段名 IN SELE 公共字段名 (相当于联接中条件:表1.公共字段名=表2.公共字 段名)
6、简单的计算查询
SQL不仅具有一般的检索能力,而且还有计 算方式的检索 用于计算检索的函数: COUNT()--- ------计数 SUM()--------------求和 AVG()---------求平均值 MAX()---------求最大值 MIN()----------求最小值
查询产生新字段
例4.10 找出和职工E4工资相同的所有职工. SELE 职工号 FROM 职工 WHERE 工资 =(SELE 工资 FROM 职工 WHERE 职工号 =“E4”) 注意:= 与 IN 之间的关系,等号可以用IN 来 替换,而IN不能用=替换 =:返回的值是一个具体的值 IN:返回的是多个值
4、几个特殊运算符
第四章 关系数据库标准语言SQL
罗盛
一、SQL概述

第3章:关系数据库标准语言SQL

第3章:关系数据库标准语言SQL

例6:建立一个“课程”表Course. :建立一个“课程” Create table Course (Cno Cpno Char(4) Primary Key, , Char (4) , Cname Char (40) , Ccredit Smallint, , Foreign Key (Cpno) References Course(Cno) );
不论基本表中原来是否已有数据, 不论基本表中原来是否已有数据 , 新增加 的列一律为空值。 的列一律为空值。
例9:将年龄的数据类型改为整型。
ALTER TABLE Student Alter Column Sage Int; ;
修改原有的列定义有可能会破坏已有数据。 修改原有的列定义有可能会破坏已有数据。
group by:此短语将查询结果按某一列或某几 :
列的值进行分组。Having子句用于与group 列的值进行分组。Having子句用于与group by 子句用于与 子句配合使用,用于说明分组条件。 子句配合使用,用于说明分组条件。
查询分类
单表查询 连接查询 嵌套查询 集合查询
CREATE TABLE Student (Sno Ssex Sage Sdept
CHAR(5) NOT NULL UNIQUE,
Sname CHAR(20) UNIQUE, ,
CHAR(1) , INT, , CHAR(15)); ;
修改
Alter table <表名 表名> 表名
Add <新列名> <新列类型> (列宽度)[完整性约束] Drop Column <列名>|<完整性约束名> Alter Column <列名> <列类型> (列宽度) P87例8,例9,例10 , ,

第3章 关系数据库标准语言SQL(上)

第3章  关系数据库标准语言SQL(上)

空值的概念?
关于约束名称
column_name <data_type> [ NULL | NOT NULL ] [ [ CONSTRAINT constraint_name ] PRIMARY KEY | UNIQUE | [ FOREIGN KEY ] REFERENCES [ schema_name . ] referenced_table_name [ ( ref_column ) ] [ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] [ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] | CHECK ( logical_expression ) ] [DEFAULT constant_expression ]
一个表由若干列构成,自SQL Server 2005不仅可 以定义实列(简称列,column_definition), 而且还 可以定义虚列(即计算列, computed_column_definition) 理解: <column_definition> <computed_column_definition> <table_constraint>
定义列(<column_definition>)
column_name <data_type> [ NULL | NOT NULL ] [ [ CONSTRAINT constraint_name ] PRIMARY KEY | UNIQUE | [ FOREIGN KEY ] REFERENCES [ schema_name . ] referenced_table_name [ ( ref_column ) ] [ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] [ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] | CHECK ( logical_expression ) ] [DEFAULT constant_expression ]

第3章 关系数据库标准语言SQL_第4版(1-3)

第3章 关系数据库标准语言SQL_第4版(1-3)
1 6 7 6
学分 Ccredit 4 2 4 3 4 2 4
SC表
学号 Sno
200215121 200215121 200215121 200215122 200215122
课程号 Cno
1 2 3 2 3
成绩 Grade
92 85 88 90 80
§3.3 数据定义
SQL的数据定义功能: 模式定义、表定义、视图 和索引的定义
被参照建立一个“学生选课”表SC CREATE TABLE SC Cno CHAR(4), Grade SMALLINT, 列级完整性约束条件, Sno是外码,被参照表是 Student
(Sno CHAR(9) REFERENCES Student(Sno) , 主码由两个属性构 成,必须作为表级 完整性进行定义

用户数据库投入运行后,可根据需要随时逐步修 改模式,不影响数据的运行。 数据操作符统一
2.高度非过程化

非关系数据模型的数据操纵语言“面向过程”,
必须制定存取路径

SQL只要提出“做什么”,无须了解存取路径。 存取路径的选择以及SQL的操作过程由系统自动 完成。
3.面向集合的操作方式

SQL
数据流(Data) 元数据流(Meta Data) 对应于视图和部 分基本表
视图1
视图2
外模式
对应于基本表
基本表1 基本表2 基本表3 基本表4
数据词典
(元数据)
模式
对应于存储 文件
存储文件1 存储文件2 内模式
SQL的基本概念(续)

基本表(BASE TABLE):
是独立存在的表, 一个关系对应一个基本表,
嵌入式语言:嵌入高级语言如C,COBOL, FORTRAN,PB等

SQL语言基础

SQL语言基础

关系数据库的标准语言----------结构化查询语言(Structured Query Language),SQL语言是介于关系代数和元组演算之间的一种语言。

一、历史1986年10月,美国国家协会(ANSI)发布了ANSI文件X5.135-1986《数据库语言SQL》,1987年6月国际化标准化协会(ISO)采纳为国际标准。

这两个标准现在称为“SQL86”。

1989年10月ANSI又颁布了增强完整性特征的SQL89标准。

随后,ISO对标准进行了大量的修改和扩充。

1992年8月ISO 发布了标准化文件ISO/IEC9075:1992《数据库语言SQL》,人们习惯称标准为SQL92-----“SQL2”。

1999年ISO发布了标准化文件:ISO/IEC9075:1999年《数据库语言SQL》,人们习惯称为SQL----“SQL3”。

二、数据库的体系结构SQL数据库的体验结构基本上也是三级结构,但属于与关系模型的术语不同。

在SQL 中,关系模式称为“基本表”,存储模式称为“存储文件”,子模式称为“视图”,元组称为“行”,属性称为“行”。

SQL数据库的体系结构要点如下:(1)一个SQL模式是表和约束的集合。

(2)一个表由行集构成,一行是列的序列,每列对应一个数据项。

(3)表有三种类型:基本表,视图和导出表。

基本表是实际存储在数据库中的表,视图是由若干基本表或其他视图构成。

导出表是执行了查询时产生的表。

(4)一个基本表可以跨一个或多个存储文件,一个存储文件也可以存放一个或多个基本表。

每一个存储文件与外部存储器上一个物理文件对应。

体系结构:三、SQL的组成核心的SQL主要有四个部分组成:(1)数据定义语言,即SQL DDL。

(2)数据操纵语言,即SQL DML。

(3)嵌入式SQL语言的使用规定。

(4)数据控制语言,即SQL DCL。

四、SQL 的特点SQL具有如下特点,(1)SQL具有十分灵活和强大的查询功能。

关系数据库标准查询语言SQL

关系数据库标准查询语言SQL

SELECT Sname, ‘Year of Birth:’, 2008-Sage ,

ISLOWER(Sdept)
FROM Student ; 结果为:
Sname ‘ Yearof Birth:’ 2008-Sage ISLOWER(Sdept)

李勇 Yearof Birth: 1986
第三章关系数据库标准查询语言sql第三章第三章关系数据库标准语言关系数据库标准语言sqlsql结构化查询语言sqlstructuredquerylanguage是一种介于关系代数与关系演算之间的语言它具有查询操纵定义和控制功能是一种通用的功能极强的标准的关系数据库语言
第三章 关系数据库标 准查询语言SQL
例4:删除关于学号必须取唯一值的约束。 ALTER TABLE Student DROP UNIQUE(Sno);

3.删除基本表
基本格式: DROP TABLE〈表名〉
例5. 删除student表 DROP TABLE Student ;
3.2.2.建立与删除索引
1. 建立索引 基本格式: CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON <表名>(<列名>[<次序>[,<列名>[〈次序>]]…..); 次序:ASC,DESC 例 6: 为Student, Course, SC 3个表 建立索引,Student
2.选择表中的若干元组
1).消除重复的行 例6.查询所有选修过课的学生学号。
SELECT Sno
FROM SC ;
Sno
Cno Grade

关系数据库标准语言

关系数据库标准语言


例:查询考试成绩有不及格的学生的学号。
SELECT DISTINCT 学号 FROM 选课 WHERE 成绩<60; 这里使用了DISTINCT短语,当一个学生有多门课程不及格,他 的学号也只列一次。



(2)确定范围
谓词BETWEEN…AND…和NOT BETWEEN…AND…可以用来查找属 性值在(或不在)指定范围内的元组,其中BETWEEN后是范围 的下限,AND后是范围的上限。 例:查询所有年龄在20岁到23岁之间的学生姓名、系别及其 年龄。


学号 95001
95001
95001
学号
95001 95002
95002
95002 95002
看书上的例子
2、查询满足条件的元组——条件查询
通过WHERE子句来实现, WHERE子句常用的查询条件有: 比较、确定范围、确定集合、字符匹配、空值与多重条件, 其谓词如书上P16所列。

(1)综合统一
SQL语言集DDL、DML、DCL的于一体,包括定义关系模式、录 入数据、建立数据库、查询、更新、维护、数据库重构、数据库安全性 控制等一系列功能。


(2)高度非过程化 用户无需了解存取路径,用户只需提出“做什么”,而不 必指明“怎么做”。存取路径的选择以及SQL语句的操作过 程由系统自动完成。 (3) SQL语言是一种面向集合的语言,每个命令的操作对 象是一个或多个关系,结果也是一个关系。 (4)以统一的语法结构提供两种使用方式——自含式和嵌 入式 自含式语言可以独立使用交互命令,适用于终端用户、 应用程序员和DBA; 嵌入式语言使其嵌入在高级语言中使用,供应用程序员 开发应用程序。

数据库系统概论:第4章 关系数据库标准语言——SQL语言1

数据库系统概论:第4章 关系数据库标准语言——SQL语言1
26
4)删除完整性约束
例:删除“Height”属性列上的CHECK约束。 ALTER TABLE Student DROP
CONSTRAINT Chk1;
27
5)删除属性列
例:删除Student表中新增加的“Height”属性列。 ALTER TABLE Student DROP COLUMN Height;
2
2、SQL语言应用情况
(1) Oracle、Sybase、Informix、Ingres、 DB2、SQL Server、Rdb等大型数据库管理系统 实现了SQL语言; (2) Dbase、Foxpro、Acess等PC机数据库管理 系统部分实现了SQL语言; (3)可以在HTML(Hypertext Markup Language, 超文本标记语言)中嵌入SQL语句,通过WWW访 问数据库; (4)在VC、VB、Delphi、PB也可嵌入SQL语句。
/*外键约束*/ Credit NUMBER);
21
例3:建立一个学生选课表SC,所有约束条件均为表
级完整性约束。
CREATE TABLE SC
( Sno CHAR(8),
Cno CHAR(8),
Grade NUMBER,
PRIMARY KEY(Sno,Cno),
/*主键约束*/
FOREIGN KEY(Sno) REFERENCES Student(Sno)
25
3)增加完整性约束
例:给Student表中“Height”属性列增加一 个CHECK约束,要求学生的身高要超过140厘 米才行。 ALTER TABLE Student ADD CONSTRAINT Chk1 CHECK(Height>140);

第03章-关系数据库标准语言SQL

第03章-关系数据库标准语言SQL

语句 CREATE
功能 创建数据库或数据库对象
ALTER
修改数据库或数据库对象
DROP
删除数据库或数据库对象
说明 不同数据库对象参数不同 不同数据库对象参数不同 不同数据库对象参数不同
SQL的组成(续) ❖ 数据操纵语言DML(Data Manipulation Language):用于执行对数据库检索和更新。
定义基本表(续)
❖ 表的完整性约束条件 创建表时可指定表的完整性约束条件,也称为约束: 列级完整性约束条件 完整性约束条件涉及到该表的当前一个属性列 表级完整性约束条件 完整性约束条件涉及到该表的一个或多个属性列
➢ RDBMS自动检查对表的操作是否违背表的完整性约束条件
学生表Student
数据库 模式
表 视图
模式 表
索引
定义模式(续)
❖ 基本格式: CREATE SCHEMA [<模式名>] AUTHORIZATION <用户名> CREATE、SCHEMA 、AUTHORIZATION为保留字 保留字习惯使用大写 CREATE SCHEMA 为定义模式的语句 <模式名>为所创建的模式的名称 尖括号表示用户提供的参数 方括号表示参数可选 AUTHORIZATION <用户名> 子句用于指定模式的所有者 <用户名>指定一个用户
❖ 也可以使用带指定参数值的命令创建数据库
3.3 数据定义
3.3.1 模式的定义与删除 3.3.2 基本表的定义、删除与修改 3.3.3 索引的建立与删除
定义模式
❖ 模式(SCHEMA) 定义模式实际上是定义了一个命名空间(或容器)。 在这个空间中可以定义该模式包含的数据库对象 例如基本表、视图、索引、存储过程等。 定义模式能更好的管理数据库中的对象
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第3章关系数据库标准语言一、单选题1. SQL语言是()标准语言。

A. 层次数据库B.网络数据库C.关系数据库D.非数据库2. SQL语言是()的语言,易学习。

A. 过程化B.非过程化 C.格式化D.导航化3. 以下关于SQL语句的书写准则中不正确的是()。

A. SQL语句对大小写敏感,关键字需要采用大写形式B. SQL语句可写成一行或多行,习惯上每个子句占用一行C. 关键字不能在行与行之间分开,并且很少采用缩写形式D. SQL语句的结束符为分号“;”4. SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE和DELETE等。

其中最重要的也是使用最频繁的语句是()。

A.SELECT B.INSERT C.UPDATE D.DELETE5. 下列关于基本表的叙述中,错误的是()。

A.在SQL中一个关系对应一个基本表 B. 表一个基本表对应一个存储文件C.一个基本表只能有一个索引,索引也存放在存储文件中D. 基本表是独立存储在数据库中的但一个存储文件中只能存放一个基本表6. 一般来说,以下情况的列不适合建立索引()。

A. 经常被查询的列B. ORDER BY子句中使用的列。

C. 是外键或主键的列D. 包含许多重复值的列7. 定义基本表时,若要求某一列的值是唯一的,则应在定义时使用()保留字,但如果该列是主键,则可省写。

A.NULL B.NOT NULL C.DISTINCT D.UNIQUE8. 在SQL语句中,可以用来实现关系代数中π运算功能的是()语句。

A. SELECT B.ALTER C.DELETE D.DROP9. 在SELECT语句中,与关系代数中σ运算符对应的是( )子句。

A. SELECT B.FROM C.WHERE D.GROUP BY10. 使用SQL语句进行查询操作时,若希望查询结果中不出现重复元组,应在SELECT子句中使用()保留字。

A. UNIQUE B.ALL C.EXCEPT D.DISTINCT11. 在以下SELECT 语句的子句中,放在最后的应该是()子句。

A.GROUP BY B.HAVING C.WHERE D.ORDER BY12. 与HAVING子句一起使用的子句是()。

A.GROUP BY B.ORDER BY C.WHERE D.JOIN13. FOREIGN KEY约束是()约束。

A.实体完整性B.参照完整性C.用户自定义完整性D.域完整性14. 若要修改基本表中某一列的数据类型,需要使用ALTER语句中的()子句。

A. DELETEB. DROPC. MODIFYD. ADD15. 向基本表中增加一个新列后,原有元组在该列上的值是()。

A.TRUE B.FALSE C.空值 D.不确定16. 当FROM子句中出现多个基本表或视图时,系统将执行()操作。

A. 并B.等值连接 C.自然联结D.广义笛卡儿积17. 视图创建完成后,数据字典中存放的是()。

A. 查询语句B.查询结果C.视图的定义 D.所引用的基本表的定义18. 查询中需要统计元组的个数时,应使用()函数。

A.SUM(列名) B.COUNT(列名) C.COUNT(*) D.AVG(列名)19. 查询中需要统计某列中值的个数应使用()函数。

A.SUM(列名) B.COUNT(列名) C.COUNT(*) D.AVG(列名)20. 两个子查询的结果()时,可以执行并、交、差操作。

A.结构完全一致B.结构完全不一致C.结构部分一致在D.主码一致21. 若用如下的SQL语句创建一个student表:CREATE TABLE student( NO CHAR(4) NOT NULL,NAME CHAR(8) NOT NULL,SEX CHAR(2),AGE SMALLINT );可以插入到student表中的是( )。

A.('1031','曾华',男,23) B.('1031','曾华',NULL,NULL)C.(NULL,'曾华','男',23) D.('1031',NULL,'男',23)第22题到第24题基于这样的3个表即学生表S、课程表C和学生选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩22. 检索学生姓名及其所选修课程的课程号和成绩,正确的SELECT语句是()。

A. SELECT S.SN,SC.C#,SC.GRADEFROM S WHERE S.S#=SC.S#;B. SELECT S.SN,SC.C#,SC.GRADEFROM SC WHERE S.S#=SC.GRADE;C. SELECT S.SN,SC.C#,SC.GRADEFROM S,SC WHERE S.S#=SC.S#;D. SELECT S.SN,SC.C#,SC.GRADE FROM S,SC;23. 检索选修课程“C2”的男生中的最高成绩,正确的SELECT语句是()。

A. SELECT MAX(GRADE) FROM SCWHERE CN='C2’ AND SEX='男';B. SELECT MAX(GRADE) FROM SC,C,SWHERE CN=‘C2‘ AND SEX=’男‘;C. SELECT MAX(GRADE) FROM SC,SWHERE SC.C#=C.C# AND CN=’C2‘ AND SEX=’男‘;D. SELECT MAX(GRADE) FROM SC,C,SWHERE SC.C#=C.C# AND SC.S#=S.S# AND CN='C2' AND SEX='男';24. 检索选修4门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。

正确的SELECT语句是()。

A. SELECT S#,SUM(GRADE) FROM SCWHERE GRADE>=60GROUP BY S#ORDER BY 2 DESCHAVING COUNT(*)>=4B. SELECT S#,SUM(GRADE)FROM SCWHERE GRADE>=60GROUP BY S#HAVING COUNT(*)>=4ORDER BY 2 DESCC. SELECT S#,SUM(GRADE)FROM SCWHERE GRADE>=60HAVING COUNT(*)>=4GROUP BY S#ORDER BY 2 DESCD. SELECT S#,SUM(GRADE)FROM SCWHERE GRADE>=60ORDER BY 2 DESCGROUP BY S#HAVING COUNT(*)>=4二、多选题1. SQL具有()功能。

A.关系规范化B.数据定义 C.数据操纵 D.数据控制2. SQL语言的使用方法有()。

A.交互式SQL B.解释式SQL C.嵌入式SQL D.多用户SQL3. 下列命令中属于SQL语言中数据定义功能的语句有()。

A. CREATEB. SELECTC. DROPD. ALTER4. 在SQL语言中可以用来表示“10<x<15”的是()。

A. x>10 AND x<15B. x BETWEEN 10 AND 15C. x IN (11,12,13,14)D. x BETWEEN 11 AND 145. 使用聚合函数进行统计时,忽略空值的有()。

A.SUM B.MAX C.COUNT D.AVG6. 在SELECT语句的FROM子句中允许出现()。

A. 列名B.基本表名 C.视图名D.表达式7. 某查询语句中有“%田_ _”语句,在查询结果中有可能含有()。

A.张田B.陈力田C.田华D.刘田耕8. 在CREATE TABLE语句中实现完整性约束的子句有()。

A.NOT NULL B.PRIMARY KEY C.FOREIGN KEY D.CHECK9. 已知基本表S对应的关系模式为(S#,SNAME,AGE),在下列SELECT的子句中,正确的是()。

A.SELECT S#,AVG(AGE) B.SELECT DISTINCT AGEC.SELECT SNAME 姓名D.SELECT AGE>2010. 对于下列语句TeacherNo INT NOT NULL UNIQUE,正确的描述是( )。

A. TeacherNo是主码B. TeacherNo不能为空C. TeacherNo的值可以是“王大力”D. 每一个TeacherNo必须是惟一的三、填空题1. 在SQL语言中,创建基本表应使用()语句,创建视图应使用()语句,创建索引应使用()语句。

2. 在SQL语言中,DELETE命令用来删除表中的记录,()命令用来删除表。

UPDATE命令用来更新表的记录值,()语句用来更新表结构。

3. 使用INSERT语句插入记录时,有两种形式:一是使用VALUES子句,一次只能插入一行;另一种是使用(),一次可插入多行。

4. 在SQL中定义视图时,需要用关键字()连接子查询来完成。

5. 设有如下关系模式R、S和T:R(BH,XM,XB,DWH)S(DWH,DWM)T(BH,XM,XB,DWH)(1)实现R∪T的SQL语句是:。

(2)实现σDWH=‘100’(R)的SQL语句是:。

(3)实现ΠXM,XB(R)的SQL语句是:。

(4)实现ΠXM,DWH( σXB='女'(R)) 的SQL语句是:。

(5)实现R×S的SQL语句是:。

(6)实现ΠXM,XB,DWM( σXB='男'(R∞ S))的SQL语句是:。

6. 有如下关系表R:R(NO,NAME,SEX,AGE,CLASS) 主码是NO其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。

写出实现下列功能的SQL语句。

(1)插入一个记录(25,"李明",21,NULL,"95031"); 。

(2)将学号为10的学生姓名改为"王华"; 。

(3)删除姓"王"的学生记录; 。

(4)在表中增加一列DEPT,类型为CHAR(10)。

(5)将全体学生的年龄增加一岁。

四、判断题1.原则上讲,两个不同的对象所具有的属性值不能相同,但在给定的关系中的元组可以是完全相同的。

相关文档
最新文档