背景
面试过程中发现,面试官最喜欢出学生成绩表,当然我曾经也出现过,写的慢,被面试官吐槽,你这SQL不熟悉啊,当然是做题的打开方式不对。面对多表查询,要至少在纸上画出关系图,写起来游刃有余,面试的心理确实也需要克服一下,我承认我确实也不喜欢面试官在对面看着我做题,需要克服一下,话不多说,每个题目要自己去写。
涉及的数据库
请书写下面的SQL语句如下表:
Student(Stid,Sname,Sage,Ssex) 学生表 Stid:学号 Sname:学生姓名 Sage:学生年龄 Ssex:学生性别
Course(Cid,Cname,Tid) 课程表 Cid:课程编号 Cname:课程名称 Tid:教师编号
SC(Sid,Cid,score) 成绩表 Sid:学号 Cid:课程编号 score:成绩
Teacher(Tid,Tname) 教师表 Tid:教师编号 Tname:教师名字
创建数据库的语句提供下
drop table if exists SC;
drop table if exists Student;
drop table if exists Course;
drop table if exists Teacher;
create table Teacher(
Tid int,
Tname varchar(255),
primary key(Tid)
);
create table Course(
Cid int,
Cname varchar(255),
Tid int,
primary key(Cid),
foreign key(Tid) references Teacher(Tid)
);
create table Student(
Stid int,
Sname varchar(255),
Sage int,
Ssex char(1),
primary key(Stid)
);
create table SC(
id int auto_increment,
Sid int,
Cid int,
Score int,
primary key(id),
foreign key(Sid) references Student(Stid