50道SQL编写入门题目

0    179    1

Tags:

👉 本文共约3335个字,系统预计阅读时间或需13分钟。

一、表结构

1、学生表

Student(Sid,Sname,Sage,Ssex)

学生编号,学生姓名,出生年月,学生性别

2、课程表

Course(Cid,Cname,Tid)

课程编号,课程名称,教师编号

3、教师表

Teacher(Tid,Tname)

教师编号,教师姓名

4、成绩表

SC(Sid,Cid,Score)

学生编号,课程编号,分数

二、表之间的关系

四张表之间的关系如下图:

图片

我们来解读一下上面的关系:

1、课程表Course的课程编号(Cid)作为主键,在成绩表(SC)中可以看到一个或多个学生的课程分数,两表之间是属于1:n的关系。同理学生表(Student)与成绩表(SC)也是1:n的关系

2、教师表Teacher的教师编号(Tid)作为主键,在课程表(Course)中可以带一门或多门课程,两表之间也是属于1:n的关系。

三、测试数据

1、学生表

结果如下:

图片

2、课程表

结果如下:

图片

3、教师表

结果如下:

图片

4、成绩表

结果如下:

图片

四、面试题及参考答案

1、查询" 01 "课程比" 02"课程成绩高的学生的信息及课程分数

2、查询同时存在" 01 "课程和"02 "课程的情况

3、查询存在" 01 "课程但可能不存在"02 "课程的情况(不存在时显示为 null )

4、查询不存在" 01 "课程但存在"02 "课程的情况

5、查询平均成绩大于等于 60 分的同学的学生编号和学生姓名和平均成绩

6、查询在 SC 表存在成绩的学生信息

7、查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩(没成绩的显示为 null )

8、查有成绩的学生信息

9、查询「李」姓老师的数量

10、查询学过「张三」老师授课的同学的信息

  1. 查询没有学全所有课程的同学的信息

  1. 查询至少有一门课与学号为" 01 "的同学所学相同的同学的信息

  1. 查询和" 01 "号的同学学习的课程完全相同的其他同学的信息

  1. 查询没学过"张三"老师讲授的任一门课程的学生姓名

  1. 查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩

  1. 检索" 01 "课程分数小于 60,按分数降序排列的学生信息

  1. 按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩

  1. 查询各科成绩最高分、最低分和平均分:

以如下形式显示:课程 ID,课程 name,最高分,最低分,平均分,及格率,中等率,优良率,优秀率

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复