数据库实验报告

用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.mfbz.cn/a/393965.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java之VO,BO,PO,DO,DTO

概念 VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。DTO(Data Transfer Object):数据传输对象,这…

代码随想录刷题笔记-Day19

1. 二叉搜索树的最小绝对差 530. 二叉搜索树的最小绝对差https://leetcode.cn/problems/minimum-absolute-difference-in-bst/ 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的绝…

windows安装Mysql解压版

windows安装Mysql解压版 一、下载mysql-8.0.36-winx64.zip二、解压三、配置3.1. 添加环境变量:新建MYSQL_HOME3.2.如何验证是否添加成功:必须以管理员身份启动3.3. 初始化MySQL:必须以管理员身份启动3.4. 注册MySQL服务:必须以管理…

算法练习-01背包问题【含递推公式推导】(思路+流程图+代码)

难度参考 难度:困难 分类:动态规划 难度与分类由我所参与的培训课程提供,但需 要注意的是,难度与分类仅供参考。且所在课程未提供测试平台,故实现代码主要为自行测试的那种,以下内容均为个人笔记&#xff0…

PCL库学习及ROS使用

PCL库学习 c_cpp_properties.json {"configurations": [{"name": "Linux","includePath": ["${workspaceFolder}/**","/usr/include","/usr/local/include"],"defines": [],"compiler…

Linux第60步_“buildroot”构建根文件系统第2步_配置“buildroot下的busybox”并测试“buildroot”生成的根文件系统

1、查看“buildroot下的busybox”安装路径 打开终端 输入“ls回车” 输入“cd linux回车/”,切换到到“linux”目录 输入“ls回车”,查看“linux”目录下的文件和文件夹 输入“cd buildroot/回车”,切换到到“buildroot”目录 输入“ls…

ClickHouse迎战十亿行数据的挑战

本文字数:6782;估计阅读时间:17 分钟 作者:Dale McDiarmid 审校:庄晓东(魏庄) 本文在公众号【ClickHouseInc】首发 本月初,Decodable 公司的 Gunnar Morling 提出了一项为期一月挑战…

接口测试怎么进行,如何做好接口测试

一、什么是接口? 接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来,通过一些特殊的规则也就是协议,来进行数据之间的交互。 二、 常用接口采用方式&#x…

API自动化测试你以为很难?看完这篇文章直接打开你的任督二脉

API测试已成为日常的测试任务之一,为了提高测试效率,减少重复的手工操作,API自动化测试也逐渐变得愈加重要,本文是自己在API自动化测试方面的一些经验积累和心得、汇总成文,以飨读者 我相信自动化技能已经成为高级测试…

单调栈题目总结

单调栈 496. 下一个更大元素 I 503. 下一个更大元素 II 739. 每日温度 6227. 下一个更大元素 IV 模版归纳 「单调栈」顾名思义就是具有单调性的栈结构,一般常用于找到下一个更大的元素,即当前元素右侧第一个更大的元素 看下面一个例子&#xff1a…

消毒柜行业分析:市场渗透率不足20%

目前消毒柜仍然属于“小众”品类,疫情前期市场渗透率也不足20%。有业内人士表示,多年来消毒柜零售量规模基本在400万台左右徘徊,这个角度看,消毒柜是具有自身的产品消费人群的,其市场相对稳定,而且消毒柜的…

DoRA(权重分解低秩适应):一种新颖的模型微调方法

来自:小互 DoRA(权重分解低秩适应):一种新颖的模型微调方法 DoRA在LoRA的基础上进一步发展,通过将预训练权重分解为“幅度”和“方向”两个部分进行微调。 这种权重分解方法允许DoRA更精细地控制模型的学习过程&…

error: ‘QWidget‘ file not found

说明你没有加载 widgets模块 缺少widgets,就报错

mysql 2-17

UNION关键字和UNION ALL 自然连接 USING使用 函数 单行函数 基本函数 三角函数 指数和对数 进制间的转换 字符串函数 时间和日期函数 计算日期和时间的函数 日期的格式化和解析 流程控制函数

这样用TVS管

对于工程师来说,浪涌保护不仅仅是选择合适的电源板或者拔下几根电缆,主要涉及在 PCB 布局中放置瞬态保护组件并应用明确的接地策略。 TVS 二极管是用于保护PCB布局中组件的常用组件,这些组件放置在数据线上,一旦电路中接收到ESD脉…

激活函数30年回顾总结,全paper第一份详尽研究来了!

B站:啥都会一点的研究生公众号:啥都会一点的研究生 新年好,离退休又近了一年 假期躺平未更新,但该保存的素材及热点还是拿小本本记了下来,如这篇今年2月14号arXiv上发表的长达100页神经网络中激活函数大总结文章就进…

综合练习

目录 查询每个员工的编号、姓名、职位、基本工资、部门名称、部门位置 确定要使用的数据表 确定已知的关联字段 查询每个员工的编号、姓名、职位、基本工资、工资等级 确定要使用的数据表 确定已知的关联字段 查询每个员工的编号、姓名、职位、基本工资、部门名称、工资…

string的用法

概念 可代替字符数组来存储字符串 访问 string name[i];//下标访问 string::iterator it;//迭代器访问常用函数 1.begin():获得字符串首地址 2.end():获得字符串末地址 3.:字符串的加法,可将两个字符串拼接起来 4.比较符:,>…

GET与 POST

资料来源 : 小林coding 小林官方网站 : 小林coding (xiaolincoding.com) GET 和 POST 有什么区别? 根据 REC 规范,GET的语义是从服务器获取指定的资源,这个资源可以是静态的文本、页面、图片视频等。GET请求的参数位置一般是写在 URL 中,UR…

Python Selenium实现自动化测试及Chrome驱动使用!

本文将介绍如何使用Python Selenium库实现自动化测试,并详细记录了Chrome驱动的使用方法。 通过本文的指导,读者将能够快速上手使用Python Selenium进行自动化测试。 并了解如何配置和使用Chrome驱动来实现更高效的自动化测试。 一、Python Selenium简…