MySQL 50题
表的介绍
本文中共用到了四张表:学生表、课程表、教师表、成绩表
1.学生表
student(s_id,s_name,s_age,s_sex)
s_id : 学⽣编号、s_name: 学⽣姓名、s_age: 出⽣年⽉、s_sex: 学⽣性别
2.课程表
course(c_id,c_name,t_id)
c_id: 课程编号、c_name: 课程名称、t_id: 教师编号
3.教师表
teacher(t_id,t_name)
t_id: 教师编号、t_name: 教师姓名
4.成绩表
sc(s_id,c_id,score)
s_id: 学生编号、c_id: 课程编号、score: 分数
创建数据库
本文中我创建了库名为MySQL50的数据库
CREATE DATABASE IF NOT EXISTS MySQL50;
使用该数据库
为了避免创建表时创建在错误的数据库,所以先使用该数据库
USE MySQL50;
创建表
1.学生表
CREATE TABLE student(
s_id INT PRIMARY KEY AUTO_INCREMENT,
s_name VARCHAR(10),
s_age DATETIME,
s_sex VARCHAR(10)
);
insert into student(s_name,s_age,s_sex) values
( '赵雷' , '1990-01-01' , '男'),
( '钱电' , '1990-12-21' , '男'),
( '孙风' , '1990-04-10' , '男'),
( '李云' , '1990-04-06' , '男'),
( '周梅' , '1991-12-01' , '女'),
( '吴兰' , '1992-03-01' , '女'),
( '郑竹' , '1989-07-01' , '女'),
( '王菊' , '1990-01-20' , '女');
2.课程表
CREATE TABLE course(
c_id INT PRIMARY KEY AUTO_INCREMENT,
c_name VARCHAR(10),
t_id INT(10)
);
INSERT INTO course(c_name,t_id) VALUES
('数学' , 01),
('语文' , 02),
('英语' , 03);
3.教师表
CREATE TABLE teacher(
t_id INT PRIMARY KEY AUTO_INCREMENT,
t_name VARCHAR(10)
);
INSERT INTO teacher(t_name) VALUES
('张三'),
('李四'),
('王五');
4.成绩表
CREATE TABLE sc(
s_id INT(10),
c_id INT(10),
score INT(10)
);
INSERT INTO sc(s_id,c_id,score) 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);
1.查询课程1比课程2成绩高的学生的信息以及课程1课程2成绩
SELECT a1.s_id,a1.s_name,a1.s_sex,b1.s1 AS "课程1成绩",b1.s2 AS "课程2成绩" FROM student a1, (
SELECT a.s_id AS s_id,a.score AS s1,b.score AS s2 FROM sc a,sc b
WHERE a.c_id=1 AND b.c_id