浏览班级为计算机的同学记录的命令,mysql综合性练习

题目描述

设定有一个数据库,里面有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。

3db4c5b17c75f870480357f006288958.png

学生表:

create tablestudent(

snoint(10),

snamevarchar(10),

ssexvarchar(10),

sbirthday date,

classidvarchar(10)

);alter table student add primary key(sno);

教师表:

create tableteacher(

tnoint(10),

tnamevarchar(12),

tsexvarchar(10),

tbirthday date,

professionalvarchar(20),

departmentvarchar(20)

);alter table teacher add primary key(tno);

课程表:

create tablecourse(

cnovarchar(10),

cnamevarchar(20),

tnoint(10)

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

成绩表:

create tablescore(

snoint(10),

cnovarchar(10),

sdegreefloat(5)

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

三、添加数据

insert intostudent (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 intoteacher(tno,tname,tsex,tbirthday,professional,department)values(804,'李诚','男','1978-12-2','副教授','计算机系'),

(856,'张旭','男','1979-3-12','讲师','电子工程系'),

(825,'王萍','女','1982-5-5','助教','计算机系'),

(831,'刘冰','女','1984-8-14','助教','电子工程系');insert intocourse(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);

学生表:

f77c1a8008acfdc11a4e4a1750ad7eac.png

教师表:

9760f368367b1cd569fed6157bd0c611.png

课程表:

6eaa70013c2c8bc6be87a127ffb4174a.png

成绩表:

a9f5c109dad7ff02f674fd4fe0a89773.png

四、SQL题目

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

1d726a56a16614a495adbc0d2e4e29e9.png

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

75e671c1a9bd99e856f13b5a3f90df21.png

3、查询student表的所有记录

123c80a17523e00416b57d8aa99016f2.png

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

da2946c9acde49a641f077b1618b9189.png

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

d795236dc4fa41d06c212fec4112e99a.png

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

4abe50ebbd6a90fcbcd14169d2827bf8.png

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

59e5c096b91611041e104c98774d4861.png

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

5e22d42618313dd2b047008762d03d4d.png

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

ef8112dd9c667857246876781d718e7c.png

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

5b14c44d960b70c171e6bcc602fe7182.png

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

eda82debad47667977526267ff22810d.png

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

1b7ee9a369024f7d0767d2767813ec27.png

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

9d1ac183e4d2ff05ae41f5ac0de46b93.png

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

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

0520c155b4c22d1746fd80eede006a81.png

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

813a684ce1ec897dd4b48131a79189db.png

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

f2eaf7b3e8a5f69d4cfa482db5e480ab.png

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

c2673b2331c7c31c1e42527bf2439d00.png

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列)

03a8e703fd02e4c42697a4d4b79a3352.png

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

398059432f0c5988b1f0d5dc4bbf58bb.png

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

354e689114a69afb52fb7f2d3c12c0c4.png

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

095f6e61c06382ae80641c0d3a237832.png

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

350a10226a37ed6cb89d5beff0452e77.png

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

e92864803731d6012915f38c1b2898cf.png

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

e56dcd49d786ca6d3519163b0c99ee28.png

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

1a45a003de5d7c364601ce59c162a09b.png

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

d68639df3f28cf509e5461f547daef12.png

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

fb7e88ee89461acfd3ac0940f5db0447.png

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

175935a71e5021e4fcb7ae7d4df98afe.png

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

585c00b44104d805360b0bd1bda5046d.png

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

c5bb4b9381b8d9d085526ec95814a4e6.png

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

1f6e22cfc800b71f6e06818efbcfb693.png

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

677843ad3c74400238b64fa1b7b7cfe6.png

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

d543594fac282d28798e71a33c23b87e.png

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

38dc6599c8650bf622a4e378201085b7.png

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

ac3e75e97fc90ef1e7a9c32bb385b803.png

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

e2ca1a9e4fee6c23968fb30aca7bc5c6.png

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

ee5901cf742182a0037ccc2e128b0e0d.png

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

03506938a4eb82967fafc8f7a8502c4a.png

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

0ce2b27b2fd02ae5705a41f41a3a526a.png

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

708a5ad0ef8202df5f02687b2af821f7.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值