SQL学习新手,此篇文章纯粹为了记录学习。
以下回答问题皆来自网上其他楼主,回答均是个人写的,不知道对不对,欢迎指正(*^_^*)!
Server version: 8.0.15 MySQL
练习数据
表1:course(cid[课程id],cname[课程名称],tid[教师id])-- 课程信息表
表2:sc(sid[学生id],cid[课程id],score[课程分数])-- 成绩表
表3:student(sid[学生id],sname[学生姓名],sage[学生年龄],ssex[学生性别])学生信息表
表4:teacher(tid[老师id],tname[老师姓名])-- 老师信息表
数据准备
以下数据准备也可直接复制粘贴另一个楼主写好的sql语句,方便快捷一些
表1:course 课程信息表
-- 创建表
create table Course(CId varchar(10),
Cname nvarchar(10),
TId varchar(10));
-- 插入数据
insert into Course
values('01' , '语文' , '02'),
('02' , '数学' , '01'),
('03' , '英语' , '03');
表2:sc 成绩表
-- 创建表
create table SC(SId varchar(10),
CId varchar(10),
score decimal(18,1));
-- 插入数据
insert into SC
values('01' , '01' , 80),
('01' , '02' , 90),
('01' , '03' , 99),
('02' , '01' , 70),
('02' , '02' , 60),
('02' , '03' , 80),
('03' , '01' , 80),
('03' , '02' , 80),
('03' , '03' , 80),
('04' , '01' , 50),
('04' , '02' , 30),
('04' , '03' , 20),
('05' , '01' , 76),
('05' , '02' , 87),
('06' , '01' , 31),
('06' , '03' , 34),
('07' , '02' , 89),
('07' , '03' , 98);
表3:student 学生信息表
-- 创建表
create table Student(SId varchar(10),
Sname varchar(10),
Sage datetime,
Ssex varchar(10));
-- 插入数据
insert into Student
values('01' , '赵雷' , '1990-01-01' , '男'),
('02' , '钱电' , '1990-12-21' , '男'),
('03' , '孙风' , '1990-05-20' , '男'),
('04' , '李云' , '1990-08-06' , '男'),
('05' , '周梅' , '1991-12-01' , '女'),
('06' , '吴兰' , '1992-03-01' , '女'),
('07' , '郑竹' , '1989-07-01' , '女'),
('09' , '张三' , '2017-12-20' , '女'),
('10' , '李四' , '2017-12-25' , '女'),
('11' , '李四' , '2017-12-30' , '女'),
('12' , '赵六' , '2017-01-01' , '女'),
('13' , '孙七' , '2018-01-01' , '女');
表4: teacher 老师信息表
-- 创建图表
create table Teacher(TId varchar(10),
Tname varchar(10));
-- 插入数据
insert into Teacher values('01' , '张三'),
('02' , '李四'),
('03' , '王五');
练习题
- 查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数
1.1查询同时存在" 01 "课程和" 02 "课程的情况
</