数据库实验报告

用SQL语句和企业管理器建立如下的表结构并输入数据
给定表结构如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建数据库

创建数据库
create table student(Sno int auto_increment primary key,Sname varchar(45),Ssex varchar(45),Sage int,Sdept varchar(45)
)engine = InnoDB default charset=utf8;
create table Course(Cno int auto_increment primary key,Cname varchar(45),Cpno int,Ccredit int
) engine = InnoDB default charset=utf8;create table SC(Sno int ,Cno int ,Grade int,primary key(Sno,Cno),constraint c_fk foreign key(Sno)references student(Sno),constraint c_fk21 foreign key(Cno) references Course(Cno)) engine = InnoDB default charset=utf8;(1)Course表插入数据:
SELECT * FROM Student.Course;
insert into Course values(1,"数据库",5,4);
insert into Course (Cno,Cname,Ccredit) values(2,"数学",2);
insert into Course values(3,"信息系统",1,4);
insert into Course values(4,"操作系统",6,3);
insert into Course values(5,"数据结构",7,4);
insert into Course (Cno,Cname,Ccredit) values(6,"数据处理",2);
insert into Course values(7,"PASCAL语言",6,4);
(2)SC表插入数据:
SELECT * FROM Student.SC;
insert into SC values(95001,1,92);
insert into SC values(95001,2,85);
insert into SC values(95001,3,88);
insert into SC values(95002,2,90);
insert into SC values(95002,3,85);
insert into SC values(95003,3,59);
(3)student表插入数据
SELECT * FROM Student.student;
insert into student values(95001,"李勇","男",20,"CS");
insert into student values(95002,"刘晨","女",21,"lS");
insert into student values(95003,"王敏","女",18,"MA");
insert into student values(95004,"张力","男",19,"lS");

用SQL语句完成一下的要求:

  • 1.查询信息系(IS)的所有学生信息
1.select * from student where Sdept="lS"
  • 2.查询选5.查询所有姓王的学生。
 2.select * from Course where Cname="数学";
  • 3.查询至少选修了一门其直接先行课为5号课程的学生的姓名。
3.select Sname from student,SC,Course where Course.Cpno="5" and SC.Cno=Course.Cno and SC.Sno=student.Sno;
  • 4.查询全体学生的姓名和出生年份。
4.select Sname,2018-Sage from student;
  • 5.查询所有姓王的学生。
5.select Sname from student where Sname like '王%'
  • 6.查询选修了3号课程的学生姓名及成绩,并按成绩降序排序。
6.select Sname,Grade from student ,SC where Cno='3'and SC.Sno=student.Sno order by Grade     desc;
  • 7.查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列。
7.select * from student order by Sdept asc ,Sage desc;
  • 8.计算2号课程的平均成绩。
8.select avg(Grade) avg2 from SC where SC.Cno='2';
  • 9.查询选修了2号课程的学生的最高成绩。
9.select max(Grade) from SC where SC.Cno='2';
  • 10.求各个课程号及相应的选课人数。
10.select Cno,count(Sno) from SC group by Cno;
  • 11.查询至少选修了3门课程以上的学生学号。
11.select Sno from SC group by Sno having count(Cno)>=3;
  • 12.查询“数据库”的间接先行课。
12.select Cname from Course where Cno=(select Cpno from Course where Cname='数据库');
  • 13.查询平均成绩最高的学生的学号和姓名。
13.select student.Sno,Sname from student,SC
where  SC.Sno=student.Sno and Grade in (select max(Grade) from SC);
  • 14.查询数学成绩最高的学生的学号和姓名。
14.select student.Sno,Sname from SC,student where  SC.Sno=student.Sno and
Grade in (select max(Grade) from SC,Course where SC.Cno=Course.Cno and Course.Cname="数学") ;
  • 15.查询出成绩最低学号最大的学生学号。
15.select Sno from SC where Grade in (select min(Grade) from SC) and Sno in (select max(Sno) from SC);
  • 16.查询成绩高于学生平均成绩的记录。
16.select * from SC where  Grade > (select avg(Grade) from SC);
  • 17.查询至少选修了1号课程和3号课程的学生学号。
17.select Sno from SC where Sno in (select Sno from SC where Cno=1 ) and Cno=3;
  • 18.查询只选修了1号课程和3号课程的学生学号。
18.select Sno from SC where Cno = 1 and 3 and not exists (select Sno from SC where Cno=2) ;
  • 19.查询没有选修1号课程的学生姓名。
19. SELECT Sname from student where not exists (select * from SC WHERE Sno=student.Sno and Cno='1');
  • 20.查询选修了全部课程的学生姓名。
20.select Sname from student  where Sno IN (select Sno from SC group by Sno having count(*) = (select count(*) from Course ));    
  • 21.查询至少选修了95002所选修的全部课程的学生学号。
21. select distinct Sno from SC where Sno  in(select  Sno from SC s1 where not exists(select * from SC s2 where s2.Sno='95002' and not exists(select * from SC s3 where s1.Sno=s3.Sno and s2.Cno=s3.Cno)));
  • 22.查询没有不及格课程的学生的学号和姓名。
22.select distinct SC.Sno,Sname from SC ,student where Grade>60 and SC.Sno =student.Sno;
  • 23.查询没有不及格学生的课程的课程号和课程名。
23.select distinct SC.Cno, Cname from SC ,Course where Grade>60 and SC.Cno = Course.Cno;
  • 24.建立信息系学生视图,并从视图中查询年龄最大的学生记录。
24.create view is_student(a_Sno,a_Sname,a_Sage)as select Sno ,Sname ,Sage from student where Sdept ='lS';
select * from is_student where a_Sage in (select max(a_Sage) from is_student); 

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

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

相关文章

Ubuntu下Anaconda+PyCharm搭建PyTorch环境

这里主要介绍在condapytorch都正确安装的前提下,如何通过pycharm建立开发环境; Ubuntu下AnacondaPyCharm搭建PyTorch环境 系统环境:Ubuntu22.04 conda: conda 23.11.0 pycharm:如下 condapytorch的安装教程介绍,请点击这里&…

jmeter-问题四:json断言时,预期结果那里如何不写成固定值?

文章目录 json断言时,预期结果那里如何不写成固定值?定义用户参数,然后在json断言的expected value处引用使用csv数据,然后在json断言的expected value处引用 json断言时,预期结果那里如何不写成固定值? 定…

软件实例分享,茶楼收银软件管理系统,支持计时计费商品销售会员管理定时语音提醒功能

软件实例分享,茶楼收银软件管理系统,支持计时计费商品销售会员管理定时语音提醒功能 一、前言 以下软件教程以 佳易王茶社计时计费管理系统软件V18.0为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 问:这个软…

腾讯云4核8G服务器多少钱?

腾讯云4核8G服务器多少钱?轻量应用服务器4核8G12M带宽一年446元、646元15个月,云服务器CVM标准型S5实例4核8G配置价格15个月1437.3元,5年6490.44元,标准型SA2服务器1444.8元一年,在txy.wiki可以查询详细配置和精准报价…

arkTS开发鸿蒙OS个人商城案例【2024最新 新年限定开发案例QAQ】

龙年前述 源码获取>文章下方二维码,回复关键字“鸿蒙OS商场源码” 前言 arkTS是华为自己研发的一套前端语言,是在js和ts技术的基础上又进行了升级而成! 本篇文章会带领大家通过arkTSnode.jsmongoDB来完成一个鸿蒙OS版本的商城案例&…

一起玩儿Proteus仿真(C51)——06. 红绿灯仿真(二)

摘要:本文介绍如何仿真红绿灯 今天来看一下红绿灯仿真程序的具体实现方法。先来看一下整个程序的原理图。 在这个红绿灯仿真实验中,每个路口需要控制的设备是2位数码管显示倒计时以及红黄绿灯的亮灭。先来看一下数码管的连接方法。 数码管的8根LED显示…

大模型Layer normalization知识

Layer Norm 的计算公式 Layer Norm(层归一化)是一种用于神经网络中的归一化技术,用于提高模型的训练效果和泛化能力。 RMS Norm 的计算公式 RMS Norm 的作用是通过计算输入 X 的均方根,将每个样本的特征进行归一化,使…

AD域国产替代方案,助力某金融企业麒麟信创电脑实现“真替真用”

近期收到不少企业客户反馈采购的信创PC电脑用不起来,影响信创改造的进度。例如,某金融企业积极响应国产化信创替代战略,购置了一批麒麟操作系统电脑。分发使用中发现了如下问题: • 当前麒麟操作系统电脑无法做到统一身份认证&…

【Java】零基础蓝桥杯算法学习——线性动态规划(一维dp)

线性dp——一维动态规划 1、考虑最后一步可以由哪些状态得到,推出转移方程 2、考虑当前状态与哪些参数有关系,定义几维数组来表示当前状态 3、计算时间复杂度,判断是否需要进行优化。 一维动态规划例题:最大上升子序列问题 Java参…

面试技术栈 —— 2024网易雷火暑期实习真题

面试技术栈 —— 2024网易雷火暑期实习真题 1. 最长递增子序列。2. 集中限流和单机限流你觉得哪个好?3. redis部署服务器配置,为什么不用哨兵?4. 讲讲分布式session的原理。5. 数据库:表数据量大了,如何分表&#xff1…

Python 读取pdf文件

Python 实现读取pdf文件简单示例。 安装命令 需要安装操作pdf的三方类库,命令如下: pip install pdfminer3K 安装过程如下: 引入类库 需要引入很多的类库。 示例如下: import sys import importlib importlib.reload(sys)fr…

cordic算法圆周系统计算sin、cos、平方和开根、atan、坐标系变换

cordic算法圆周系统计算sin、cos、平方和开根、atan 一、cordic圆周系统旋转模式和向量模式1.1 旋转模式1.2 向量模式 二、一些需要考虑的事项2.1角度范围2.2输入正负2.3关于迭代精度2.4坐标系旋转 参考文献: 若想计算 s i n sin sin、 c o s cos cos、 x 2 y 2 \s…

【MySQL】索引事务

MySQL索引事务 1. 索引1.1 概念1.2 作用1.3 使用场景1.4 使用1.5 案例 2. 事务2.2 事物的概念2.3 使用 3. 内容重点总结 1. 索引 1.1 概念 索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引, 并指定索引的类…

【leetcode热题100】不同的二叉搜索树

给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: 输入:n 3 输出:5示例 2: 输入:n 1 输出:1 …

算法学习——LeetCode力扣回溯篇2

算法学习——LeetCode力扣回溯篇2 40. 组合总和 II 40. 组合总和 II - 力扣(LeetCode) 描述 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字…

Qt 的准备知识

文章目录 1. Qt 背景介绍2. 搭建 Qt 开发环境3. 认识 Qt Creator3.1 main.cpp3.2 widget.h3.3 widget.cpp3.4 Forms3.5 .pro文件 1. Qt 背景介绍 Qt 是⼀个 跨平台的 C 图形用户界面应用程序框架 。它为应用程序开发者提供了建立艺术级图形界⾯所需的所有功能。它是完全⾯向对…

Docker 在window 2024版笔记 下载 安装 操作 配置

---Docker 前言--- Docker windows版官方版是一款专业开源的应用容器引擎,可以加快用户构建、共享和运行现代应用程序的速度,支持运行Linux和Windows Docker容器。 Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互…

关于Windows Media Player的一些知识,看这篇文章就差不多了

你知道如何在电脑上打开Windows Media Player吗?如果它不是你电脑上默认的媒体播放器,你知道如何将其设为默认吗?此外,如果你找不到它,你知道怎么把它找回来吗?这篇文章将向你展示你想要了解的所有信息。 在这篇文章中,我们将向你展示以下信息: 如何打开Windows Medi…

从傅立叶变换到奥运五环

傅立叶变换的本质 离散傅立叶变换的本质就是用一系列的正弦(或者余弦)函数的和来拟合一个周期函数f(t)。公式如下: (1) 其中T是f(t)的周期,即f(tT)f(t)对任意t成立。和的周期是。换句话说,后两者的频率是f(t)的频率的…

推荐10个最受欢迎的 Vue.js UI 库

在2024年,随着Vue.js的不断普及和发展,这个轻量级、易于学习的JavaScript框架在前端开发者中的受欢迎程度日益上升。Vue.js之所以受到青睐,很大一部分原因是其庞大的生态系统,特别是众多的UI库,这些库提供了预先构建的组件和工具,帮助开发者快速高效地构建出既美观又响应…