数据库系统概论SQL编程题合集(包含期末题、考研初试题以及复试题)

二、现有数据库casemanage中表结构如下图
在这里插入图片描述
1)请编写sql语句对年龄进行升序排列

select * from afinfo order by birth;

2)请编写sql语句查询对“徐”姓开头的人员名单

select * from afinfo where name like '徐%';

3)请编写sql语句修改“陈晓”的年龄为“45”

update afinfo set age=45 and birth=birth-YEAR(45) where name="陈晓";

4)请编写sql删除王芳芳这表数据记录。

delete from afinfo where name="王芳芳";198

二、 用SQL语句完成下列功能(每小题4分,共20分)

设学生—社团数据库有三个基本表:
学生(学号,姓名,年龄,性别);
社团(编号,名称,负责人,办公地点);
参加(学号,编号,参加日期);

其中:

学生表的主码为学号;社团表的主码为编号;外码为负责人,被参照表为学生表,对应属性为学号;参加表的学号和编号为主码;学号为外码,其被参照表为学生表,对应属性为学号;编号为外码,其被参照表为社团表,对应属性为编号。

1)定义社团表,说明其主码和参照关系。
2)建立视图:社团负责人(社团编号,名称,负责人学号,负责人姓名,负责人性别);
3)查询参加科协的学生学号、姓名和性别。
4)求每个社团的参加人数。
5)把对社团表的插入和删除数据的权力赋给用户李平,并允许他将此权力授予其他用户。

1 )

CREATE TABLE 社团(编号 NUMBER(4) PRIMARY KEY,名称 VARCHAR(10),负责人 NUMBER(4),办公地点 VARCHAR(20),CONSTRAINT FK_FZRFOREIGN KEY (负责人)REFERENCES学生(学号));

2)

CREATE VIEW 社团负责人(社团编号,名称,负责人学号,负责人姓名,负责人性别)AS  SELECT 社团.编号,名称,负责人,姓名,性别FROM   学生,社团,参加WHERE  学生.学号=参加.学号 and社团.编号=参加.编号;

3)

SELECT 学号,姓名,性别  FROM 学生,社团,参加                   
WHERE学生.学号=参加.学号 and社团.编号=参加.编号 
and名称='科协'

4)

SELECT 编号,COUNT(学号)  FROM  参加 GROUP BY 编号

5)

GRANT INSERT , DELETE ON 社团 TO 李平WITH GRANT OPTION

三、现有如下关系:

职工(职工号,姓名,性别,职务,家庭地址,部门编号)
部门(部门编号,部门名称,地址,电话)
保健(保健卡编号,职工号,检查身体日期,健康状况)

1.查找所有女科长的元组:
2.查找“办公室”的科长姓名和家庭地址:
3.查找“财务科”中健康状况为“良好”的职工姓名和家庭地址:
4.将职工号为“3016”的职工的健康状况改为“一般”
5.删除职工关系表中职工号为“3016”的记录:
6.建立健康状况为“差”的职工的视图:
7.向保健表中增加一个“备注”列,其数据类型为字符型,长度为20。

1.

SELECTFROM 职工  WHERE 性别=’女’ AND 职务=’科长’

2.用多表查询方法:

   SELECT 姓名,家庭地址FROM 职工,部门WHERE 职工.部门编号=部门.部门编号 AND 部门名称=’办公室’AND 职务=“科长”

或者用子查询方法:

   SELECT 姓名,家庭地址FROM  职工WHERE 职务=’科长’AND 部门编号 INSELECT 部门编号FROM 部门WHERE 部门名称=’办公室’)

3.用多表查询方法:

   SELECT 姓名,家庭地址FROM  职工,部门,保健WHERE 职工.部门编号 = 部门.部门编号 AND 职工.职工号=保健.职工号 AND健康状况=’良好’AND 部门名称=’财务科’

或者用子查询方法:

 SELECT 姓名,家庭地址FROM 职工WHERE 部门编号 INSELECT 部门编号FROM 部门WHERE 部门名称=’财务科’ AND 职工号 INSELECT 职工号FROM 保健WHERE 健康状况=’良好’))

4.

UPDATE 保健 SET 健康状况=’一般’ WHERE 职工号=3016

5.

DELETE  FROM 职工  WHERE 职工号=3016

6.

CREATE  VIEW  VW
as  SelectFrom 职工 where 职工号 inSelect 职工号 from 保健 
where健康状况=’差’)

7.

ALTER TABLE 保健ADD 备注 CHAR20

四、假设教学数据库中已建立三个关系:

学生关系 student(sno, sname, sex, birth, height, class, address)
课程关系course(cno, cname, credit)
选修关系elective(sno, cno, grade)

试用关系代数和SQL语言分别写出下列查询:

(1)检索至少选修课程号为C02和C06的学生学号。(4分)
(2)检索没有选修C06课程的学生姓名及其所在班级。(4分)
(3)检索学习全部课程的学生姓名。(4分)
(4)检索学习课程中包含了S08学生所学课程的学生学号。(4分)

关系代数

(1)πsno(σ1=42=’C02’ 5=’C06’(electiveelective))2分)
(2)πsname,class(student)-πsname,class(σcno=’C06’(student   elective))2分)
(3)πsname(student   (πsno,cno(elective)πcno(course)))2分)
(4)πsno,cno(elective)(πcno(σsno=’S08’(elective)))2分)

SQL语言

(1)

SELECT FIRST.snoFROM elective FIRST, elective SECONDWHERE FIRST.sno=SECOND.sno AND FIRST.cno=’C02’ AND SECOND.cno=’Co6’ (2分)

(2)

SELECT sname, classFROM student WHERE NOT EXISTS(SELECT *
FROM elective
WHERE sno=student.sno AND cno=’C06’)2分)

(3)

SELECT snameFROM student WHERE NOT EXISTS(SELECT *FROM courseWHERE NOT EXISTS(SELECT *FROM electiveWHERE sno=student.sno AND cno=course.con))2分)

(4)

SELECT DISTINCT snoFROM elective XWHERE NOT EXISTS (SELECT *
FROM elective Y
WHERE Y.sno=’S08’ AND NOT EXISTS 
(SELECT *
FROM elective Z
WHERE Z.sno=X.sno AND Z.cno=Y.cno))2分)

五、设有学生-课程关系数据库,其数据库关系模式(表名与属性名只取英文名)为:学生S(学号S#,姓名SN,所在系SD,年龄SA)、
课程C(课程号C#,课程名称CN,先修课号PC#)、
学生选课SC(学号S#,课程号C#,成绩G)。

  1. 试用关系代数及SQL语言分别写出下列查询:
    (1)求学号为95001的学生所选的成绩为60分以上的课程号;(6分)
    (2)求选修了“数据库概论”,并且成绩为80或90的学生的学号和姓名;(6分)
    (3)求选修了全部课程的学生学号、姓名及其所在系名。(6分)
  2. 试用SQL语言实现下列操作:
    (1)找出没有学生选修的课程号及课程名称;(2分)
    (2)列出选课数超过3门的学生学号、其所选课程数及平均成绩;(2分)
    (3)删除“数据结构”课程及所有对它的选课情况。(2分)

1.关系代数

1)Πc#(σS#=’95001’ΛG>=60(SC))(3分)2)ΠS#,SN(σCN=’数据库概论’ (C)    σG=80νG=90 (SC)    S)(3分)3)ΠS#,SN,SD(S   (ΠS#,C#(SC)÷ΠC#(C)))(3分)

SQL语言

(1)

SELECT C#  FROM SC  WHERE S#=’95001’ AND G>=60  (3分)

(2)

SELECT S#, SN  FROM S, SC, CWHERE C.C#=SC.C# AND SC.S#=S.S# AND C.CN=’数据库概论’ AND (G=80 OR 
G=90)3分)

(3)

SELECT S#, SN, SD FROM S
WHERE NOT EXISTS(SELECT *  FROM C  XWHERE NOT EXISTS
(SELECT *  FROM SC  Y
WHERE Y.C#=X.C# AND Y.S#=S.S#))   (3分)

(1)

SELECT C#, CN  FROM C  WHERE C.C# NOT IN(SELECT SC.C#  FROM SC)  (2分)

(2)

SELECT S#, COUNT(C#), AVG(G)  FROM SCGROUP BY S#  HAVING COUNT(C#)>3   (2分)

(3)

DELETE  FROM SCWHERE SC.C# IN (SELECT C.C#  FROM C  WHERE CN=’数据结构’)DELETE  FROM C  WHERE CN=’数据结构’   (2分)

六、定义一个描述订单的客户号和对应订单明细中产品号关系的视图,客户产品(客户号,产品号)。

[说明] 某企业网上销售管理系统的数据库部分关系模式如下所示:
  客户(客户号,姓名,性别,地址,邮编)
  产品(产品号,名称,库存,单价)
  订单(订单号,时间,金额,客户号)
  订单明细(订单号,产品号,数量)
  关系模式的主要属性及约束如表2-1所示。

在这里插入图片描述
客户、产品、订单和订单明细关系及部分数据分别如表2-2、2-3、2-4、2-5所示。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

问题1
  
 
请根据如下查询语句,回答问题(d) 和(e)和

SELECT 客户号
  FROM 订单,订单明细
  WHERE 订单明细.订单号 = 订单.订单号 AND
     产品号 =‘02’AND
     数量>10;

(d)上述查询语句的功能是什么?请简要回答。(30个字以内)

(e)将上述查询语句转换成对应的关系代数表达式。

问题2
  请按题意将下述SQL查询语句的空缺部分补充完整。
  按客户购买总额的降序,输出每个客户的客户名和购买总额。
  SELECT 客户.客户名,(g)
  FROM 客户,订单
  WHERE 客户.客户号 = 订单.客户号
   (h)
   (i)
问题3
  
  用SQL语句完成下述要求。
  
  (1)定义一个描述订单的客户号和对应订单明细中产品号关系的视图,客户产品(客户号,产品号)。(2分)

(2)借助(1)所定义的视图,查询至少购买了01号客户购买的所有产品的客户号。(每空2分,共6分)
  
  SELECT 客户号
  FROM 客户产品 客户产品1
  WHERE___(j)___
   (SELECT*
    FROM客户产品 客户产品2
    WHERE___(k)___
    (SELECT*
     FROM客户产品 客户产品3
     WHERE___(l)___));
答案:

[问题1] (每个3分,共6分)
 (d)查询一次订购(或购买)产品号为02的数量大于10的客户号
 (e)π客户号(订单 σ产品号=‘02’∧数量>10(订单明细))
[问题2] ( 每空1分,共3分)
 (g)SUM(金额)AS总额
 (h)GROUP BY 客户.客户号
 (i)ORDER BY 总额 DESC
[问题3](共8分)
(1)(2分)

CREATE VIEW 客户产品 ASSELECT 客户号,产品号FROM 订单,订单明细WHERE 订单明细.订单号=订单.订单号)

(2)(每空2分,共6分)

(j)NOT EXISTS
(k)客户号=’01’ AND NOT EXISTS
(l)客户产品1.客户号=客户产品3.客户号AND客户产品2.产品号=客户产品3.产品号

七、关系模式如下

商品 P(PNO,PNAME,COLOR,PRICE)
商店 S(SNO,SNAME,CITY)
销售 SP(PNO,SNO,QTY)

(1)用SQL语句实现如下查询:查询出售商品“TV”的商店名SNAME;
(2)将上述SQL语句转化为等价的关系代数表达式;

答案:(1)

SELECT  SNAME  (3分)FROM  P,  S,  SPWHERE  P.PNO=SP.PNO AND S.SNO=SP.SNO AND PNAME=’TV’

(2)

лSN(S SP (σPN=’TV’(P))) (3分)

八、关系模式如下:(20分)
商品P(PNO, PN, COLOR, PRICE)
商店S(SNO, SN, CITY)
销售SP(PNO, SNO, QTY)

(1)用关系代数及SQL语言分别写出查询语句,查询销售所有商品的商店名SN。
(2)用关系代数及SQL语言分别写出查询语句,查询不销售商品P2(商品号)的商店名SN。
(3)用SQL语言写出查询语句,查询至少销售商品P1、P2(商品号)两种商品的商店名SN。
(4)将在London销售红色商品的商店号SNO,商店名SN建立视图RLS。

答案:
(1)ЛSN (ЛSNO,PNO(SP)÷ЛPNO§ ЛSNO,SN(S))(3分)

  SELECT SN FROM SWHERE NOT EXISTS (SELECT *FROM PWHERE NOT EXISTS (SELECT *FROM SP WHERE SNO=S.SNO AND PNO=P.PNO));3

分)

(2)ЛSN(S)-ЛSN(S σPNO=‘P2’(SP) )(3分)

SELECT SN FROM SWHERE NOT EXISTS (SELECT *FROM SPWHERE PNO=’P2’ AND SNO=S.SNO);3分)

(3)

SELECT SN 	FROM S, SP X, SP Y
WHERE S.SNO=X.SNO AND X.SNO=Y.SNO AND X.PNO=’P1’ AND Y.PNO=’P2’;4分)

(4)

CREATE VIEW RLS 
AS 
SELECT SNO, SN
FROM S, SP, P
WHERE S.SNO=SP.SNO AND SP.PNO=P.PNO AND S.CITY=’London’ AND COLOR=’Red’;4分)

九、学生S(SNO, SN, SEX, AGE)
课程C(CNO, CN, PCNO) PCNO为直接先行课
选课SC(SNO,CNO,G) G为课程考试成绩
(1)用关系代数及SQL语言写出查询语句,查询所有学生都选修的课程名CN。
(2)用关系代数及SQL语言写出查询语句,查询“DB”课成绩在90分以上的学生的姓名。
(3)将选修课程“DB”的学生学号,姓名建立视图SDB。
(4)在学生选课关系SC中,把英语课的成绩提高10%。

答案:

(1)

ЛCN (ЛCNO,SNO(SC)÷ЛSNO(S) ЛCNO,CN©) (3分)

SELECT CN
FROM C
WHERE NOT EXISTS(SELECT *FROM S WHERE NOT EXISTS(SELECT *FROM SCWHERE SNO=S.SNO AND CNO=C.CNO));3分)

(2)

ЛSN(S σG>90(SC) σCN=’DB’© )(3分)

  SELECT SNFROM S, SC, C
WHERE S.SNO=SC.SNO AND SC.CNO=C.CNO AND CN=’DB’AND G>90;3分)

(3

)CTEATE VIEW SDB ASSELECT SNO, SNFROM S, SC, CWHERE S.SNO=SC.SNO AND SC.CNO=C.CNO AND C.CN=’DB’;4分)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/587293.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【在大厂做测试外包这一年】

​ 在大厂做测试外包这一年 大厂外包是一种趋势,以后可能会越来越多,最起码测试行业是这样,像我们的测试工作,我所在的项目领导是大厂内部的,组长是OD外包,组员是普通外包。   1、关于办公方式 有两种方…

2024年【茶艺师(初级)】考试技巧及茶艺师(初级)试题及解析

题库来源:安全生产模拟考试一点通公众号小程序 茶艺师(初级)考试技巧是安全生产模拟考试一点通生成的,茶艺师(初级)证模拟考试题库是根据茶艺师(初级)最新版教材汇编出茶艺师&#…

「Kafka」入门篇

「Kafka」入门篇 基础架构 Kafka 快速入门 集群规划 集群部署 官方下载地址:http://kafka.apache.org/downloads.html 解压安装包: [atguiguhadoop102 software]$ tar -zxvf kafka_2.12-3.0.0.tgz -C /opt/module/修改解压后的文件名称: [a…

Vue3使用WangEditor编辑器

WangEditor的基本使用&#xff0c;图片上传功能 没详细讲解&#xff0c;只是做个记录。 Componets 下定义 WangEditor.vue 文件 <template><div style"border: 1px solid #ccc;"><Toolbar style"border-bottom: 1px solid #ccc" :editor&q…

关于HTTPS

目录 什么是加密 对称加密 非对称加密 中间人攻击 引入证书 HTTPS是一个应用层的协议,是在HTTP协议的基础上引入了一个加密层. HTTP协议内容都是按照文本的方式明文传输,这就导致在传输的过程中出现一些被篡改的情况. 运营商劫持事件 未被劫持的效果,点击下载按钮,就会…

Mybatis分页插件之PageHelper生效and失效原理解析

文章目录 前言整合PageHelperPageHelper生效原理PageHelper的分页参数和线程绑定核心拦截逻辑生成分页SQLdialect.afterAll() PageHelper失效原理分页失效案例分页失效原理总结 Mybatis拦截器系列文章&#xff1a;从零开始的 MyBatis 拦截器之旅&#xff1a;实战经验分享 构建自…

探索 3D 图形处理的奥秘

最近一年多来&#xff0c;在 3Dfx、Intel 们的狂轰滥炸中&#xff0c;在 Quake、古墓丽影们的推波助澜下&#xff0c;三维图形已经成为计算机迷眼中的又一个热点。3D 世界到底是怎样的神奇&#xff0c;我们又是怎样享受它的乐趣呢&#xff1f;就让我们来一探究竟吧。 图形基础…

K8s资源管理介绍

用这个官网下的&#xff0c;kube-flannel.yml &#xff0c;就不会nodes not-ready --- kind: Namespace apiVersion: v1 metadata:name: kube-flannellabels:k8s-app: flannelpod-security.kubernetes.io/enforce: privileged --- kind: ClusterRole apiVersion: rbac.author…

递归详解之青蛙跳台阶和汉诺塔问题

&#x1d649;&#x1d65e;&#x1d658;&#x1d65a;!!&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦ &#x1f44f;&#x1f3fb;‧✧̣̥̇:Solitary-walk ⸝⋆ ━━━┓ - 个性标签 - &#xff1a;来于“云”的“羽球人”。…

51单片机三种编译模式的相互关系

51单片机三种编译模式的相互关系 编译模式默认存储类型RAM使用规模变量使用特点SAMLLdata128B片内RAM使用规模CPU访问数据速度快&#xff0c;但存储容量较小COMPACTpdata258B片外分页RAM速度和容量介于上下两者之间LARGExdata64KB片外RAMCPU访问数据的速度较慢&#xff0c;但存…

idea利用JRebel插件,无需重启,实现Spring Boot项目热重载,节省开发时间和精力!

插件介绍 官方介绍 翻译过来的意思是&#xff1a; JRebel 是一款提高开发效率的工具&#xff0c;允许开发者立即重新加载代码更改。它跳过了在Java开发中常见的重新构建、重启和重新部署循环。JRebel 能够让开发者在相同的时间内完成更多工作&#xff0c;并且在编码时能够保持…

Linux Ubuntu 和 Mac ,Windows 部署离线通义千问1.8B参数 4-bit量化大模型详细教程 全网唯一

代码为我自己写的 python 程序,应该是全网最简单的大模型部署方案,一个模型文件1.3GB,一个python代码即可开始玩耍~ 首先说明,本文下面的内容需要一点点python基础,需要会安装 python和 pip 安装依赖库,如果你不会或者不想这么麻烦,只想要下载就能马上使用的大模型离线整…

【Unity3D】Unity3D技术栈

1 前言 本文梳理了笔者在学习 Unity3D 的过程中&#xff0c;对 Unity3D 的理解和学习路线&#xff0c;以帮助读者循序渐进地学习 Unity3D&#xff0c;后续笔者仍会持续更新 Unity3D 相关技术栈&#xff0c;并同步到本文中。 1.1 专栏文章特点 知识系统&#xff1a;专栏从资源…

python------Pymysql模块

查询 总结&#xff1a; fetchall(): 获取所有查询到的内容。返回结果是嵌套的元组 fetchone(): 获取一条数据。返回结果就是一个非嵌套的元组 fetchmany(num): 返回结果是元组嵌套&#xff0c;底层也是有游标的。如果不传递参数num&#xff0c;默认读取一条数据 注意: 与文件…

CSS与JavaScript的简单认识

CSS&#xff1a;是一门语言&#xff0c;用于控制网页表现&#xff0c;让页面更好看的。 CSS&#xff08;Cascading Style Sheet&#xff09;&#xff1a;层叠样式表 CSS与html结合的三种方式&#xff1a; 1、内部样式&#xff1a;用style标签&#xff0c;在标签内部定义CSS样式…

vim学习笔记

vim学习笔记 Linux Vim编辑器的基本使用 显示行号 set nu 自动补全 CTRL-N或CTRL-P $到当前行的末尾 u 撤销上一步的操作 Ctrlr 恢复上一步被撤销的操作 vim下配置tab缩进格数 原始文件&#xff1a; helloworld nice 普通缩进 shift > &#xff08;或者 Shift <…

springcloud微服务篇--6.网关Gateway

一、为什么需要网关&#xff1f; 网关功能&#xff1a; 身份认证和权限校验 服务路由、负载均衡 请求限流 在SpringCloud中网关的实现包括两种&#xff1a; gateway zuul Zuul是基于Servlet的实现&#xff0c;属于阻塞式编程。而SpringCloudGateway则是基于Spring5中提供的Web…

【SpringCloud笔记】(12)分布式请求链路跟踪之Sleuth

Sleuth 背景 在微服务框架中&#xff0c;一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果&#xff0c;每一个前段请求都会形成一条复杂的分布式服务调用链路&#xff0c;链路中的任何一环出现高延时或错误都会引起整个请求最后的…

通信原理课设(gec6818) 006:网络编程

目录 1、概念 2、通信 3、通信基本流程 TCP: UDP: 4、函数 I 创建套接字 II 绑定地址 III 字节序转换 IV 地址转换 V 监听 VI accept VII connect VIII 从套接字接收信息 IX 从套接字发送消息 X 关闭套接字 5、网络配置 1、确保你的网卡里面有两个虚拟网卡&a…

WeNet语音识别分词制作词云图

在线体验 ,点击识别语音需要等待一会&#xff0c;文件太大缓存会报错 介绍 本篇博客将介绍如何使用 Streamlit、jieba、wenet 和其他 Python 库&#xff0c;结合语音识别&#xff08;WeNet&#xff09;和词云生成&#xff0c;构建一个功能丰富的应用程序。我们将深入了解代码…