MySQL 50题

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
  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值