数据库系统原理 | 查询作业1

整理自博主本科《数据库系统原理》专业课自己完成的实验课查询作业,以便各位学习数据库系统概论的小伙伴们参考、学习。

*文中若存在书写不合理的地方,欢迎各位斧正。

专业课本:

————

本次实验使用到的图形化工具:Heidisql

目录

第一题、生成EDUC数据库中的三个表,把问题在MySQL中执行,并查看查询结果,截图。

1.在课程表中查询课 程名以“数据”开头的课程的课程号,课程名。注意要取别名。

2.在课程表中查询课程名,学分,学分是2到4之间。用比较运算符,或between and ,或in。分别表达学分的限制条件。

3.查询课程表中,课程的学分都有哪些。

4.查询所有没有确定专业的,年龄小于19岁的,女生的学号,姓名,年龄。并按照年龄降序排列,如果年龄相同,按照学号升序排列。 

5.查询所有学分大于2的 ,没有先修课的课程的课程号,课程名,并按课程号升序排列

6.查询课程总个数。

7.计算学号为“200215121”的学生平均成绩。

8.查询被选修的课程的个数。

9.查询学号为“200215121”的学生所考试的课程中的最高分数。 

第二题、生成spj数据库中的四个表,进行查询,给出查询结果。

1.查询工程项目所在地名字最后一个字是‘京’字的项目号,项目名,所在城市。注意把列名从英文改为中文。

2.查询零件重量大于等于10,小于等于20的红色零件或重量大于30的蓝色零件的零件名称,颜色和重量。列名不改别名。

3.表中零件重量单位是公斤,请给出每种零件的市斤数。输出的列有零件号,零件名,和市斤数。市斤数是列的别名,其他两个不用改。

4.查询零件表中,零件的颜色都有哪些。

5.在spj表中。查询供应数量是100,200,300,400的那些元组。

6.在spj表中,如果供应数量是null。代表供应商给某项目供应的某零件的数量不确定。查询有那些供应商给哪些项目供应的哪些零件是不确定数量的。要求给出供应商名,项目名和零件名。

7.查询重量小于40的零件的零件号,零件名和零件颜色。并按照零件颜色排序降序排列,颜色相同的,按照零件号升序排列。

8.找出最重的三种零件的零件号和零件名。

9.查询零件共有几种颜色。

10.如果每种零件取一个,那么所有种类的零件的总重量是多少。

11.查询红色零件中最轻的那种零件的重量是多少。

12.查询蓝色零件的平均重量。 


*做题,截图,把代码及查询执行结果的截图放在相应题目的下方。(没有安装成功的,可以只写代码)


第一题、生成EDUC数据库中的三个表,把问题在MySQL中执行,并查看查询结果,截图。

EDUC数据库建库建表代码:

create database educ;
use educ;
CREATE TABLE Student
(
Sno CHAR(9) NOT NULL PRIMARY KEY,
Sname CHAR(20),
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20)
);CREATE TABLE Course
(
Cno CHAR(4) NOT NULL PRIMARY KEY,
Cname CHAR(40) NOT NULL,
Cpno CHAR(4),
Ccredit SMALLINT,
FOREIGN KEY (Cpno) REFERENCES Course(Cno)
);CREATE TABLE SC
(
Sno CHAR(9) NOT NULL,
Cno CHAR(4) NOT NULL,
Grade SMALLINT,
PRIMARY KEY(Sno,Cno),
FOREIGN KEY (Sno) REFERENCES Student(Sno),
FOREIGN KEY (Cno) REFERENCES Course(Cno)
);INSERT INTO Student VALUES('200215121','李勇','男',20,'CS');
INSERT INTO Student VALUES('200215122','刘晨','女',19,'CS');
INSERT INTO Student VALUES('200215123','王敏','女',18,'MA');
INSERT INTO Student VALUES('200215125','张立','男',19,'IS');
INSERT INTO Student VALUES('200215124','张立','男',19,'IS');INSERT INTO Course VALUES('2','数学',null,2);
INSERT INTO Course VALUES('6','数据处理',null,2);
INSERT INTO Course VALUES('7','pascal语言','6',4);
INSERT INTO Course VALUES('5','数据结构','7',4);
INSERT INTO Course VALUES('4','操作系统','6',3);
INSERT INTO Course VALUES('1','数据库','5',4);
INSERT INTO Course VALUES('3','信息系统','1',4);INSERT INTO SC VALUES('200215121','1',92);
INSERT INTO SC VALUES('200215121','2',85);
INSERT INTO SC VALUES('200215121','3',88);
INSERT INTO SC VALUES('200215122','2',90);
INSERT INTO SC VALUES('200215122','3',80);

1.在课程表中查询课 程名以“数据”开头的课程的课程号,课程名。注意要取别名。

源码:

select cno as 课程号,Cname as 课程名
from Course
where Cname like '数据%'

2.在课程表中查询课程名,学分,学分是24之间。用比较运算符,或between and ,或in。分别表达学分的限制条件。

(不用取别名,后面的题目没有特别要求都可以不用取别名。 )

比较运算符:

select cname,Ccredit
from Course
where Ccredit>=2 and Ccredit<=4

between and:

select cname,Ccredit
from Course
where Ccredit between 2 and 4

in:

select cname,Ccredit
from Course
where Ccredit IN (2,3,4)

3.查询课程表中,课程的学分都有哪些。

select distinct Ccredit
from Course

4.查询所有没有确定专业的,年龄小于19岁的,女生的学号,姓名,年龄。并按照年龄降序排列,如果年龄相同,按照学号升序排列。 

select sno,sname,sage
from Student
where Ssex = '女' and Sage < 19 and Sdept is null
order by Sage desc,sno asc

5.查询所有学分大于2的 ,没有先修课的课程的课程号,课程名,并按课程号升序排列

select Cno,cname
from Course
where Ccredit>2 and Cpno is null
order by Cno

6.查询课程总个数。

select COUNT(*)
from Course

7.计算学号为“200215121”的学生平均成绩。

select AVG(grade)
from SC
where Sno = '200215121'

8.查询被选修的课程的个数。

select COUNT( distinct Cno) as 被选修的课程数
from SC

9.查询学号为“200215121”的学生所考试的课程中的最高分数。 

select MAX(grade) as 最高分数
from SC
where Sno = '200215122'

第二题、生成spj数据库中的四个表,进行查询,给出查询结果。

spj数据库建库建表代码:

create database spj;
use spj;
CREATE TABLE S
(
SNO CHAR(4) NOT NULL PRIMARY KEY,
SNAME VARCHAR(20),
STATUS SMALLINT,
CITY VARCHAR(20)
);CREATE TABLE P
(
PNO CHAR(4) NOT NULL PRIMARY KEY,
PNAME VARCHAR(20),
COLOR VARCHAR(10),
WEIGHT SMALLINT
);CREATE TABLE J
(
JNO CHAR(4) NOT NULL PRIMARY KEY,
JNAME VARCHAR(20),
CITY VARCHAR(20)
);CREATE TABLE SPJ
(
SNO CHAR(4) NOT NULL,
PNO CHAR(4) NOT NULL,
JNO CHAR(4) NOT NULL,
Qty SMALLINT,
PRIMARY KEY(SNO,PNO,JNO),
FOREIGN KEY (SNO) REFERENCES S(SNO),
FOREIGN KEY (PNO) REFERENCES P(PNO),
FOREIGN KEY (JNO) REFERENCES J(JNO)
);INSERT INTO S VALUES('S1','精益',20,'天津');
INSERT INTO S VALUES('S2','盛锡',10,'北京');
INSERT INTO S VALUES('S3','东方红',30,'北京');
INSERT INTO S VALUES('S4','丰泰盛',20,'天津');
INSERT INTO S VALUES('S5','丰泰盛',20,'上海');INSERT INTO P VALUES('P1','螺母','红',12);
INSERT INTO P VALUES('P2','螺栓','绿',17);
INSERT INTO P VALUES('P3','螺丝刀','蓝',14);
INSERT INTO P VALUES('P4','螺丝刀','红',14);
INSERT INTO P VALUES('P5','凸轮','蓝',40);
INSERT INTO P VALUES('P6','齿轮','红',30);INSERT INTO J VALUES('J1','三建','北京');
INSERT INTO J VALUES('J2','一汽','长春');
INSERT INTO J VALUES('J3','弹簧厂','天津');
INSERT INTO J VALUES('J4','造船厂','天津');
INSERT INTO J VALUES('J5','机车厂','唐山');
INSERT INTO J VALUES('J6','无线电厂','常州');
INSERT INTO J VALUES('J7','半导体厂','南京');INSERT INTO SPJ VALUES('S1','P1','J1',200);
INSERT INTO SPJ VALUES('S1','P1','J3',100);
INSERT INTO SPJ VALUES('S1','P1','J4',700);
INSERT INTO SPJ VALUES('S1','P2','J2',100);
INSERT INTO SPJ VALUES('S2','P3','J1',400);
INSERT INTO SPJ VALUES('S2','P3','J2',200);
INSERT INTO SPJ VALUES('S2','P3','J4',500);
INSERT INTO SPJ VALUES('S2','P3','J5',400);
INSERT INTO SPJ VALUES('S2','P5','J1',400);
INSERT INTO SPJ VALUES('S2','P5','J2',100);
INSERT INTO SPJ VALUES('S3','P1','J1',200);
INSERT INTO SPJ VALUES('S3','P3','J1',200);
INSERT INTO SPJ VALUES('S4','P5','J1',100);
INSERT INTO SPJ VALUES('S4','P6','J3',200);
INSERT INTO SPJ VALUES('S4','P6','J4',200);
INSERT INTO SPJ VALUES('S5','P2','J4',100);
INSERT INTO SPJ VALUES('S5','P3','J1',200);
INSERT INTO SPJ VALUES('S5','P6','J2',200);
INSERT INTO SPJ VALUES('S5','P6','J4',500);
INSERT INTO SPJ VALUES('S1','P1','J2',500);

1.查询工程项目所在地名字最后一个字是‘京’字的项目号,项目名,所在城市。注意把列名从英文改为中文。

select jno 工程项目代码,jname 工程项目名,city 工程所在城市
from J
where CITY like '%京'

2.查询零件重量大于等于10,小于等于20的红色零件或重量大于30的蓝色零件的零件名称,颜色和重量。列名不改别名。

select pname,color,weight
from P
where (WEIGHT between 10 and 20 and COLOR = '红') or(WEIGHT > 30 and COLOR = '蓝')

3.表中零件重量单位是公斤,请给出每种零件的市斤数。输出的列有零件号,零件名,和市斤数。市斤数是列的别名,其他两个不用改。

select pno,pname,weight*2 as 市斤数
from P

4.查询零件表中,零件的颜色都有哪些。

select distinct color
from P

5.spj表中。查询供应数量是100,200,300,400的那些元组。

select *
from spj
where Qty in (100,200,300,400)

6.spj表中,如果供应数量是null。代表供应商给某项目供应的某零件的数量不确定。查询有那些供应商给哪些项目供应的哪些零件是不确定数量的。要求给出供应商名,项目名和零件名。

select sname,pname,jname
from s,P,J,spj
where s.SNO =spj.SNO  and P.PNO = spj.PNO and J.JNO = spj.JNO and Qty is null

7.查询重量小于40的零件的零件号,零件名和零件颜色。并按照零件颜色排序降序排列,颜色相同的,按照零件号升序排列。

select pno,pname,color
from P
where WEIGHT<40
order by color desc,pno

8.找出最重的三种零件的零件号和零件名。

select  pno,pname
from P limit 3
order by WEIGHT desc

9.查询零件共有几种颜色。

select count(distinct color)
from P 

10.如果每种零件取一个,那么所有种类的零件的总重量是多少。

select sum(weight)
from P

11.查询红色零件中最轻的那种零件的重量是多少。

select  weight,pno,pname
from P
where COLOR = '红'
order by WEIGHT asc  limit 1-- 如果用下面的代码,只能查到重量,查不到是哪种零件
select MIN(WEIGHT )
from P
where COLOR = '红'

12.查询蓝色零件的平均重量。 

select AVG(WEIGHT)
from P 
where COLOR = '蓝'

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

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

相关文章

云端AI大模型群体智慧后台架构思考

1 大模型的调研 1.1 主流的大模型 openai-chatgpt 阿里巴巴-通义千问 一个专门响应人类指令的大模型。我是效率助手&#xff0c;也是点子生成机&#xff0c;我服务于人类&#xff0c;致力于让生活更美好。 百度-文心一言&#xff08;千帆大模型&#xff09; 文心一言"…

MySQL基础篇(三)数据库的修改 删除 备份恢复 查看连接情况

对数据库的修改主要指的是修改数据库的字符集&#xff0c;校验规则。 将test1数据库字符集改为gbk。 数据库的删除&#xff1a; 执行完该数据库就不存在了&#xff0c;对应数据库文件夹被删除&#xff0c;级联删除&#xff0c;里面的数据表全部被删除。 注意&#xff1a;不要随…

浅识Jmeter与浅谈互联网公司高并发业务压测流程痛点

浅谈Jmeter 什么是Jmeter JMeter 是 Apache 软件基金会开发的一个开源软件&#xff0c;用于负载测试和性能测试。它被设计用来模拟多种请求到服务器、网络或对象&#xff0c;以测试其性能。JMeter 可以用于测试静态和动态资源&#xff0c;并且可以模拟各种协议的请求&#xf…

NDVI数据集提取植被覆盖度FVC

植被覆盖度FVC 植被覆盖度&#xff08;Foliage Vegetation Cover&#xff0c;FVC&#xff09;是指植被冠层覆盖地表的面积比例&#xff0c;通常用来描述一个区域内植被的茂密程度或生长状况。它是生态学、环境科学以及地理信息系统等领域的重要指标&#xff0c;对于理解地表能…

绝区叁--如何在移动设备上本地运行LLM

随着大型语言模型 (LLM)&#xff08;例如Llama 2和Llama 3&#xff09;不断突破人工智能的界限&#xff0c;它们正在改变我们与周围技术的互动方式。这些模型早已集成到我们的手机中&#xff0c;但到目前为止&#xff0c;它们理解和处理请求的能力还非常有限。然而&#xff0c;…

手写实现一个ORM框架

手写实现一个ORM框架 什么是ORM框架、ORM框架的作用效果演示框架设计代码细节SqlBuilderSqlExecutorStatementHandlerParameterHandlerResultSetHandler逆序生成实体类 大家好&#xff0c;本人最近写了一个ORM框架&#xff0c;想在这里分享给大家&#xff0c;让大家来学习学习。…

leetcode力扣_排序问题

215.数组中的第K个最大元素 鉴于已经将之前学的排序算法忘得差不多了&#xff0c;只会一个冒泡排序法了&#xff0c;就写了一个冒牌排序法&#xff0c;将给的数组按照降序排列&#xff0c;然后取nums[k-1]就是题目要求的&#xff0c;但是提交之后对于有的示例显示”超出时间限制…

JavaWeb开发之环境准备-大合集

本文博客地址 JavaWeb开发 || 环境准备 1. 前言2. JDK8安装2.1 下载地址2.2 安装配置图示2.2.1 JDK安装2.2.2 配置系统环境变量 3. Maven安装3.1 Maven下载3.2 Maven解压及系统变量配置 4. Tomcat安装4.1 Tomcat下载4.2 Tomcat解压及系统变量配置 5. Redis安装5.1 Redis下载5.…

记录一次麒麟V10 安装sysbench各种报错(关于MySQL)处理过程

sysbench手工下载&#xff1a; https://github.com/akopytov/sysbench 下载.zip文件&#xff0c;上传到服务器上 解压、安装&#xff1a; unzip sysbench-master.zipcd sysbench-master/sh autogen.sh./configure 报错&#xff1a;没有mysql驱动 configure: error: mysql_c…

Marin说PCB之CAM350的软件使用知多少?

今天上海的气温那叫一个高啊&#xff0c;温度都达到了39左右了都&#xff0c;我都严重怀疑我不是在魔都上班而是在火焰山板砖去了。这么燥热的天气真的是严重影响了小编我的工作效率&#xff0c;没有心情工作啊&#xff0c;要去泳池避避暑&#xff0c;冲个凉也行啊。这种天气只…

力扣5----最长回文子串

给你一个字符串 s&#xff0c;找到 s 中最长的回文子串 示例 1&#xff1a; 输入&#xff1a;s "babad" 输出&#xff1a;"bab" 解释&#xff1a;"aba" 同样是符合题意的答案。示例 2&#xff1a; 输入&#xff1a;s "cbbd" 输出…

Feign-未完成

Feign Java中如何实现接口调用&#xff1f;即如何发起http请求 前三种方式比较麻烦&#xff0c;在发起请求前&#xff0c;需要将Java对象进行序列化转为json格式的数据&#xff0c;才能发送&#xff0c;然后进行响应时&#xff0c;还需要把json数据进行反序列化成java对象。 …

G2.【C语言】EasyX绘制颜色窗口

1.窗口 窗口&#xff1a;宽度*高度&#xff08;单位都是像素&#xff09; #include <stdio.h> #include <easyx.h> int main() {initgraph(640, 480);getchar();return 0; } 640是宽&#xff0c;480是高 2.操作窗口的三个按钮 #include <stdio.h> #incl…

go语言day10 接口interface 类型断言 type关键字

接口&#xff1a; 空接口类型&#xff1a; 要实现一个接口&#xff0c;就要实现该接口中的所有方法。因为空接口中没有方法&#xff0c;所以自然所有类型都实现了空接口。那么就可以使用空接口类型变量去接受所有类型对象。 类比java&#xff0c;有点像Object类型的概念&#x…

免费去马赛克软件,亲测支持视频和图片,这AI功能逆天了!

有小伙伴私信问阿星有什么去除马赛克的免费软件&#xff0c;求推荐好用的去马赛克软件。 市面上去马赛克的软件多如牛毛&#xff0c;但真正好用的真不多&#xff0c;而免费的是更少。今天阿星就分享一款 AI智能去马赛克软件&#xff0c;免费使用。软件支持去除图片和视频的马赛…

51单片机STC89C52RC——15.1 AD/DA(模数数模)

目的/效果 1 LCD1602 显示 可调电阻、光敏电阻、热敏电阻值&#xff08;AD&#xff09; 2 模拟信号控制LED明暗&#xff08;DA&#xff09; 一&#xff0c;STC单片机模块 二&#xff0c;AD/DA 2.1 AD/DA 介绍 AD&#xff08;Analog to Digital&#xff09;&#xff1a;模拟…

第1章 项目背景(学成在线),项目介绍,环境搭建

1.项目背景 1.1 在线教育市场环境 以下内容摘自https://report.iresearch.cn/content/2021/01/358854.shtml 在线教育行业是一个有着极强的广度和深度的行业&#xff0c;从校内到校外&#xff1b;从早幼教到职业培训&#xff1b;从教育工具到全信息化平台等等。 2020年的新…

用Excel处理数据图像,出现交叉怎么办?

一、问题描述 用excel制作X-Y散点图&#xff0c;意外的出现了4个交叉点&#xff0c;而实际上的图表数据是没有交叉的。 二、模拟图表 模拟部分数据&#xff0c;并创建X-Y散点图&#xff0c;数据区域&#xff0c;X轴数据是依次增加的&#xff0c;因此散点图应该是没有交叉的。…

linux centos 安装niginx并且添加ssl(https)模块

文章目录 前言一、nginx安装教程1.流程步骤 总结 前言 一、nginx安装教程 1.流程步骤 代码如下&#xff08;示例&#xff09;&#xff1a; 1.先下载linux安装包 2.解压安装命令 sudo tar -zxvf nginx-1.20.1.tar.gz3.进入解压后的目录 sudo cd nginx-1.20.14.安装 sudo y…

欢迎加入国家智能网联汽车创新中心OS开发训练营大家庭

欢迎加入国家智能网联汽车创新中心OS开发训练营大家庭。&#x1f680; 导学阶段启动 在正式开营之前&#xff0c;我们特别设置了导学阶段&#xff0c;旨在帮助大家更好地迎接颇具挑战性的项目实战。导学阶段包括一系列精心准备的视频课程和配套习题。github链接&#xff1a;htt…