mysql综合性练习[通俗易懂]

mysql综合性练习[通俗易懂]题目描述 设定有一个数据库,里面有4张表: 学生表(student) 课程表(course) 成绩表(score) 教师信息表(teacher) 表结构如下: 表一_学生表(student) 属性名数

题目描述

设定有一个数据库,里面有4张表:

  • 学生表(student)
  • 课程表(course)
  • 成绩表(score)
  • 教师信息表(teacher)

表结构如下:

表一_学生表(student)

属性名 数据类型 含 义
sno int 学号(主键)
sname varchar 学生姓名
ssex varchar 学生性别
sbirthday date 学生出生年月
classid varchar 学生所在班级

 

表二_课程表(course)

 

属性名 数据类型 含 义
cno varchar 课程号(主键)
cname varchar 课程名称
tno int 教师编号(外键)

表三_成绩表(score)

属性名 数据类型 含 义
sno int 学号(外键)
cno varchar 课程号(外键)
sdegree float 成绩

表四_教师表(teacher)

属性名 数据类型 含 义
tno int 编号(主键)
tname varchar 教师姓名
tsex varchar 教师性别
tbirthday date 教师出生年月
professional varchar 职称
department varchar 教师所在部门

二、创建数据库和表

先创建数据库mysql_test,并且设置这个数据库的编码字符集为utf-8。

mysql综合性练习[通俗易懂]

 

 学生表:

create table student(
    sno  int(10),
    sname varchar(10),
    ssex varchar(10),
    sbirthday date,
    classid varchar(10)
);

alter table student add primary key(sno);

代码100分

 

 教师表:

代码100分create table teacher(
    tno int(10),
    tname varchar(12),
    tsex varchar(10),
    tbirthday date,
    professional varchar(20),
    department varchar(20)
);

alter table teacher add primary key(tno);

 

课程表:

create table course(
    cno varchar(10),
    cname varchar(20),
    tno int(10)
);

alter table course add primary key(cno);
alter table course add constraint fk_course_teacher foreign key(tno) references teacher(tno); 

 

成绩表:

代码100分create table score(
    sno int(10),
    cno varchar(10),
    sdegree float(5)
);

alter table score add constraint fk_score_student foreign key(sno) references student(sno);
alter table score add constraint fk_score_course foreign key(cno) references course(cno);

 

三、添加数据

insert into student (sno,sname,ssex,sbirthday,classid) 
values(108,"曾华","","1996-9-1","95033"),(105,"匡明","","1995-10-2","95031"),
(107,"王丽","","1996-1-23","95033"),(101,"李军","","1996-2-20","95033"),
(109,"王芳","","1995-2-10","95031"),(103,"陆君","","1994-6-3","95031");


insert into teacher(tno,tname,tsex,tbirthday,professional,department) 
values(804,"李诚","","1978-12-2","副教授","计算机系"),
(856,"张旭","","1979-3-12","讲师","电子工程系"),
(825,"王萍","","1982-5-5","助教","计算机系"),
(831,"刘冰","","1984-8-14","助教","电子工程系");


insert into course(cno,cname,tno) 
values("3-105","计算机导论",825),("3-245","操作系统",804),
("6-166","数字电路",856),("9-888","高等数学",831);


insert into score(sno,cno,sdegree) values
(103,"3-245",86),
(105,"3-245",75),
(109,"3-245",68),
(103,"3-105",92),
(105,"3-105",88),
(109,"3-105",76),
(101,"3-105",64),
(107,"3-105",91),
(108,"3-105",78),
(101,"6-166",85),
(107,"6-166",79),
(108,"6-166",81);

学生表:

mysql综合性练习[通俗易懂]

 

教师表:

mysql综合性练习[通俗易懂]

 

 课程表:

 mysql综合性练习[通俗易懂]

 

 成绩表:

mysql综合性练习[通俗易懂]

四、SQL题目

1、查询所有学生的姓名,性别及班级编号

mysql综合性练习[通俗易懂]

 

 

 2、查询教师所有的部门名称(即不重复的DEPART列)

mysql综合性练习[通俗易懂]

3、查询student表的所有记录

mysql综合性练习[通俗易懂]

 

 4、查询score表中成绩在60到80之间的所有记录

mysql综合性练习[通俗易懂]

 

 5、查询score表中成绩为85,86或88的记录

mysql综合性练习[通俗易懂]

 

 6、查询student表中班级编号为”95031″或性别为”女”的同学记录

mysql综合性练习[通俗易懂]

 

 7、查询student表的所有记录,以班级编号降序排列

mysql综合性练习[通俗易懂]

 

 8、查询score表的所有记录,先按照cno升序排列,若相同则按照sdegree降序排列

mysql综合性练习[通俗易懂]

 

 9、查询班级编号为”95031″班级的学生人数

mysql综合性练习[通俗易懂]

 

 10、查询score表中的最高分的学生学号和课程号

mysql综合性练习[通俗易懂]

 

 11、查询编号为”3-105″的课程平均分

mysql综合性练习[通俗易懂]

 

 12、查询score表中至少有5名学生选修的并以3开头的课程的平均分数

mysql综合性练习[通俗易懂]

 

 13、查询每科成绩均在70到90之间的学生编号

mysql综合性练习[通俗易懂]

 注意:having 后面只能跟聚合函数,如avg、min、max、sum等聚合函数

 14、查询所有学生的姓名,所选课程编号和成绩

mysql综合性练习[通俗易懂]

 

 

 15、查询所有学生的学号,所选课程名和成绩

mysql综合性练习[通俗易懂]

 

 

 16、查询所有学生的姓名,所选课程名和成绩

mysql综合性练习[通俗易懂]

 

 

 17、查询”95033″班同学所选每个课程的平均分

mysql综合性练习[通俗易懂]

 

 

 18、假设使用如下命令建立了一个GRADE表:

CREATE TABLE GRADE(
LOW INT(3),
UPP INT(3),
RANK VARCHAR(1)
);
INSERT INTO GRADE VALUES(90,100,”A”);
INSERT INTO GRADE VALUES(80,89,“B”);
INSERT INTO GRADE VALUES(70,79,“C”);
INSERT INTO GRADE VALUES(60,69,“D”);
INSERT INTO GRADE VALUES(0,59,“E”);

– 现查询所有同学的学号,所选课程号和等级(RANK列)

mysql综合性练习[通俗易懂]

 

 19、查询”3-105″课程的成绩高于学号为109同学这科成绩的所有同学记录

mysql综合性练习[通俗易懂]

 

 20、查询1995年之后出生的所有学生所选学的课程名及成绩

 mysql综合性练习[通俗易懂]

 

 

 21、查询与学号108同学同年出生的所有学生的学号,姓名和生日

mysql综合性练习[通俗易懂]

 

 

 22、查询”张旭”教师任课的学生成绩

mysql综合性练习[通俗易懂]

 

 

 23、查询选修某课程的同学人数多于5人的教师姓名

mysql综合性练习[通俗易懂]

 

 

 24、查询”95033″班和”95031″班全体学生的记录

mysql综合性练习[通俗易懂]

 

 

 25、查询存在有85分以上成绩的课程编号

mysql综合性练习[通俗易懂]

 

 

 26、查询出”计算机系”教师所教课程每一科成绩的平均分

mysql综合性练习[通俗易懂]

 

 

 27、查询”计算机系”与”电子工程系”不同职称的教师的姓名和职称

mysql综合性练习[通俗易懂]

 

 

28、查询所有教师和同学的姓名,性别和生日

mysql综合性练习[通俗易懂]

 

 

 29、查询所有”女”教师和”女”同学的姓名,性别和生日

mysql综合性练习[通俗易懂]

 

 

 30、查询所有任课教师的姓名和部门

mysql综合性练习[通俗易懂]

 

 

 31、查询所有未讲课的教师的姓名和部门

mysql综合性练习[通俗易懂]

 

 

 32、查询student表中不姓”王”的同学记录

mysql综合性练习[通俗易懂]

 

 

 33、查询student表中每个学生的姓名和年龄

mysql综合性练习[通俗易懂]

 

 

 34、查询student表中最大和最小的生日值

mysql综合性练习[通俗易懂]

 

 

 35、查询student表中的全部记录,按照班级编号降序排列,班级编号若相同则按照生日降序排列

mysql综合性练习[通俗易懂]

 

 

 36、查询所有”男”教师及其所上的课程名称

mysql综合性练习[通俗易懂]

 

 

 37、查询和”李军”同性别并同班的同学信息

mysql综合性练习[通俗易懂]

 

 

 38、查询所有选修”计算机导论”课程的”男”同学的成绩表

mysql综合性练习[通俗易懂]

 

 

 39、查询出同时选择”3-245″和”3-105″的课程的学生信息

mysql综合性练习[通俗易懂]

 

 

 

40、查询既没有选修”3-245″课程也没有选修”3-105″课程的学生信息

mysql综合性练习[通俗易懂]

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10997.html

(0)
上一篇 2022-12-18
下一篇 2022-12-18

相关推荐

  • Python List中的元素删除方法

    Python List中的元素删除方法Python List 中可以使用 codedel/code 关键字来删除指定位置的元素。只需指定要删除的元素的下标,即可将该元素从列表中删除。

    2024-01-22
    91
  • 【原创】CentOS 7 安装解压版mysql5.7「建议收藏」

    【原创】CentOS 7 安装解压版mysql5.7「建议收藏」1、将mysql压缩包解压至 /usr/local 文件夹下,将其改名为mysql#解压tar -zxf mysql-5.7.27-el7-x86_64.tar.gz -C /usr/local/#重

    2022-12-17
    126
  • 4. 事务和锁「终于解决」

    4. 事务和锁「终于解决」事务 原子性 事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。 一致性: 执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。因此当数据库只

    2023-05-26
    144
  • redis 集群(文档整理)「建议收藏」

    redis 集群(文档整理)「建议收藏」Redis集群 ·Redis集群提供了一种运行Redis安装的方法,在该安装中,数据会在多个Redis节点之间自动分片。 Redis集群在分区期间还提供了一定程度的可用性,这实际上是

    2023-03-13
    139
  • dpsir框架_AI少女框架

    dpsir框架_AI少女框架DB4AI这个方向中,数据库通过集成AI能力,在用户进行AI计算时就可以避免数据搬运的问题。不同于其他的DB4AI框架,本次openGauss开源的原生框架是通过添加AI算子的方式完成数据库中的AI计

    2023-06-17
    134
  • Python实现列表转字典

    Python实现列表转字典在Python编程中,将列表转换为字典是一个实用的技能。字典是Python中最常用的数据结构之一,列表是另一个重要的数据结构。将列表转换为字典是将数据从列表形式转换为字典形式的过程。字典表示键-值对的集合,每个键都是独特的、不可变的,作为字典的键可用于索引字典的值。

    2024-09-10
    27
  • Python实现求平方根函数

    Python实现求平方根函数 Python 是一种高级动态编程语言,它适用于多种用途,其中包括科学计算和数据处理。在Python 3中,我们可以使用内置的math模块实现一些常见的数学运算,例如求平方根。如果您正在使用Python 2,那么将需要导入包含math函数的模块。在本文中,我们将探讨如何在Python中实现求平方根函数。

    2024-08-29
    29
  • mysql面试(二)用户管理类问题「建议收藏」

    mysql面试(二)用户管理类问题「建议收藏」如何定义MySQL数据库账号 用户名@可访问控制列表 % 可以从所有外部主机访问 192.168.1.%可以从192.168.1网段访问 localhost 从服务器本地访问 使用CREATE US…

    2022-12-16
    145

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注