创建一张学生表:
CREATE TABLE `shs_student` (
`id` int NOT NULL,
`name` varchar(255) DEFAULT NULL,
`sex` varchar(4) DEFAULT NULL,
`chinese` float DEFAULT NULL,
`english` float DEFAULT NULL,
`maths` float DEFAULT NULL
)default charset = utf8;
-- 插入数据
INSERT INTO shs_student
(`id`, `name`, `sex`, `chinese`, `english`, `maths`)
VALUES ('1', '余', '男', '98', '98', '100');
INSERT INTO shs_student
(`id`, `name`, `sex`, `chinese`, `english`, `maths`)
VALUES ('2', '刘', '女', '98', '87', '88');
INSERT INTO shs_student
(`id`, `name`, `sex`, `chinese`, `english`, `maths`)
VALUES ('3', '王', '女', '23', '55', '43');
INSERT INTO shs_student
(`id`, `name`, `sex`, `chinese`, `english`, `maths`)
VALUES ('4', '黄', '男', '56', '39', '42');
INSERT INTO shs_student
(`id`, `name`, `sex`, `chinese`, `english`, `maths`)
VALUES ('5', '张', '女', '91', '95', '78');
1.查询表中所有学生信息
2.查询表中所有学生信息,只返回学生名称和数学成绩字段
3.过滤表中重复数据
4.统计每个学生的总分
5.所有学生总分加5分
6.查询语文成绩大于80分以上同学
7.查询总分大于180分以上同学
8.查询英语成绩80-90 之间的同学
9.查询英语成绩不在80-90 之间的同学
10.查询英语成绩22,99,33学生 信息
11.查询所有姓余的学生信息 like
12.查询语文、数学、外语 大于等于72分的学生信息
13.查询英语大于等于72分或者总分大于等于180分以上学生信息
14.根据英语成绩字段排序 升序和降序
15.根据总分成绩 从高到低排列
16.统计学生表中 性别男和女 分别有多少学生
17.根据英语成绩字段排序 (从高到低排序 取前3名)
-- 1.查询表中所有学生信息
SELECT * FROM shs_student;
-- 2.查询表中所有学生信息,只返回学生名字和数学成绩字段
SELECT `name`,maths FROM shs_student;
-- 3.过滤表中重复数据
SELECT DISTINCT * FROM shs_student;
-- 4.统计每个学生的总分
SELECT `name` as 姓名,chinese+english+maths as 总分 FROM shs_student;
-- 5.所有学生总分 加5分
SELECT `name` as 姓名,chinese+english+maths+5 as 总分 FROM shs_student;
-- 6.查询语文成绩大于80分以上同学
SELECT name as 姓名, chinese as 语文 FROM shs_student WHERE chinese>80;
-- 7.查询总分大于180分以上同学
SELECT name as 姓名, chinese+english+maths as 总分 FROM shs_student WHERE chinese+english+maths>180;
-- 8.查询英语成绩80-90 之间的同学
SELECT name, english FROM shs_student WHERE english BETWEEN 80 AND 90;
-- 9.查询英语成绩不在80-90 之间的同学
SELECT name, english FROM shs_student WHERE english NOT BETWEEN 80 AND 90;
-- 10.查询英语成绩55,39的学生信息
SELECT * FROM shs_student WHERE english=55||english=39;
-- 11.查询所有姓余的学生信息
SELECT * FROM shs_student WHERE `name` LIKE '余%';
-- 12.查询语文、数学、外语 大于等于72分的学生信息
SELECT * FROM shs_student WHERE chinese>=72 && english>=72 && maths>=72;
-- 13.查询英语大于等于72分或者总分大于等于180分以上学生信息
SELECT * FROM shs_student WHERE english>=72 or chinese+english+maths>=180;
-- 14.根据英语成绩字段排序升序和降序
SELECT name,english FROM shs_student ORDER BY english;
SELECT name,english FROM shs_student ORDER BY english DESC;
-- 15.根据总分成绩 从高到低排列
SELECT name,english FROM shs_student ORDER BY chinese+english+maths;
-- 16.统计学生表中性别男和女分别有多少学生
SELECT sex,count(*) FROM shs_student GROUP BY sex;
-- 17.根据英语成绩字段排序 (从高到低排序取前3名)
SELECT * FROM shs_student ORDER BY chinese+english+maths ASC LIMIT 3;