SQL语法练习1

创建一张学生表:

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; 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值