建表
学生表、班级表、学生班级表
建表语句
CREATE TABLE `stu`(
id BIGINT(10),
name VARCHAR(20),
gender VARCHAR(10),
score FLOAT(5,2),
PRIMARY KEY (`id`)
)ENGINE = INNODB CHARSET = utf8
CREATE TABLE `class`(
id BIGINT(10),
NAME VARCHAR(20)
)ENGINE = INNODB CHARSET = utf8
CREATE TABLE `s_c`(
id BIGINT(10),
stu_id BIGINT(10),
class_id BIGINT(10)
)ENGINE = INNODB CHARSET = utf8
查询一班的成绩大于80或者等于60的语句
SELECT s.name
FROM stu s
JOIN s_c sc on s.id = sc.stu_id
JOIN class c on sc.class_id = c.id
WHERE c.`NAME` = "一班" and s.score > 80 or s.score = 60
查询各班女生总数、平均成绩
SELECT SUM(s.score),AVG(s.score), c.`NAME`, COUNT(s.`name`) FROM stu s
JOIN s_c sc on s.id = sc.stu_id
JOIN class c on sc.class_id = c.id
WHERE s.gender = "女"
GROUP BY (c.`NAME`)