已知有如下4张表:
学生表:student(学号,学生姓名,出生年月,性别)
成绩表:score(学号,课程号,成绩)
课程表:course(课程号,课程名称,教师号)
教师表:teacher(教师号,教师姓名)
根据以上信息按照下面要求写出对应的SQL语句。
ps:这些题考察SQL的编写能力,对于这类型的题目,需要你先把4张表之间的关联关系搞清楚了,最好的办法是自己在草稿纸上画出关联图,然后再编写对应的SQL语句就比较容易了。下图是我画的这4张表的关系图,可以看出它们之间是通过哪些外键关联起来的:
一、创建数据库和表
为了演示题目的运行过程,我们先按下面语句在客户端navicat中创建数据库和表。
1.创建表
1)创建学生表(student)
按下图在客户端navicat里创建学生表
学生表的“学号”列设置为主键约束,下图是每一列设置的数据类型和约束
创建完表,点击“保存”
2)创建成绩表(score)
同样的步骤,创建”成绩表“。“课程表的“学号”和“课程号”一起设置为主键约束(联合主键),“成绩”这一列设置为数值类型(float,浮点数值)
3)创建课程表(course)
4)教师表(teacher)
教师表的“教师号”列设置为主键约束,
教师姓名这一列设置约束为“null”(红框的地方不勾选),表示这一列允许包含空值(null)
2.向表中添加数据
1)向学生表里添加数据
添加数据的sql
在客户端navicat里的操作
https://vdn3.vzuu.com/SD/c8e1c4a4-2381-11eb-96e1-a6a43386dca3.mp4?disable_local_cache=1&auth_key=1645673881-0-0-e8854cb458137b4d0745ee2691c2a30a&f=mp4&bu=pico&expiration=1645673881&v=tx
2)成绩表(score)
3)课程表
添加数据的sql
客户端navicat里的操作
4)教师表里添加数据
添加数据的sql
客户端navicat里操作
添加结果