Mysql经典入门练习题(五)

建表:

CREATE TABLE stu (
      id INT,-- 编号
      NAME VARCHAR ( 20 ),-- 姓名
      age INT,-- 年龄
      sex VARCHAR ( 5 ),-- 性别
      address VARCHAR ( 100 ),-- 地址
      math INT,-- 数学
      english INT -- 英语
      
 );
 
 INSERT INTO stu ( id, NAME, age, sex, address, math, english )
 VALUES
     ( 1, '马云', 55, '男', '杭州', 66, 78 ),
     ( 2, '马化腾', 45, '女', '深圳', 98, 87 ),
     ( 3, '马景涛', 55, '男', '香港', 56, 77 ),
     ( 4, '柳岩', 20, '女', '湖南', 76, 65 ),
     ( 5, '柳青', 20, '男', '湖南', 86, NULL ),
     ( 6, '刘德华', 57, '男', '香港', 99, 99 ),
     ( 7, '马德', 22, '女', '香港', 99, 99 ),
     ( 8, '德玛西亚', 18, '男', '南京', 56, 65 );

题目:

1.查询学生的姓名 及数学分数
2.查询学生的姓名 及数学分数 总分 
3.查询姓名叫马云
4.查询英语成绩大于90分的学员
5.查询英语成绩大于70 分小于906.查询英语成绩大于70 分小于90分  的学员的姓名和地址
7.查询姓名叫马云 或者姓名叫做马化腾或 柳青  的学员
8.查询没有英语成绩的学员
9.查询有英语成绩的学员
10.查询有英语成绩的学员 并且英语成绩 在60 - 80分之间
11.查询有英语成绩的学员 并且英语成绩 在60 - 80分之间   并且来自于杭州
12.查询名称中包含青的学员
13.查询名称中以德结尾的学员
14.查询姓马学员,并且名字只有二位字符
15.查询学员信息,按照数学成绩升序排序  如果数学成绩相同按照英语成绩降序
16.查询学生信息,按照英语升序排序
17.计算学生的个数
18.计算所有学生的数学平均成绩
19.计算所有学生数学成绩的总和 和英语成绩的总和
20.计算所有学生数学成绩+英语成绩的总和
21.查询各个地区的学生的数量
22.查询各个地区的数学分数在70分以上的学生的数量
23.查询各个地区的数学分数在70分以上的学生的数量 并且 学生人数大于224.获取学生数据  获取第二页 每页显示5

🚴‍♂️
🚴‍♂️
🚴‍♂️
🚴‍♂️
🚴‍♂️
🚴‍♂️
🚴‍♂️
🚴‍♂️
🚴‍♂️
参考答案

#查询学生的姓名 及数学分数
select `NAME`,math from stu;
#查询学生的姓名 及数学分数 总分 
select `NAME`,math,SUM(math) + SUM(english) from stu GROUP BY `NAME`;
#查询姓名叫马云
select * from stu where `NAME` = '马云';
#查询英语成绩大于90分的学员
select * from stu where english >= 90;
#查询英语成绩大于70 分小于90分
select * from stu where english BETWEEN 70 AND 90;
#查询英语成绩大于70 分小于90分  的学员的姓名和地址
select `NAME`,address from stu where english BETWEEN 70 and 90;
#查询姓名叫马云 或者姓名叫做马化腾或 柳青  的学员
select * from stu where `NAME` = '马云' OR `NAME` = '马化腾' OR `NAME` = '柳青';
#查询没有英语成绩的学员
select * from stu where ISNULL(english);
#查询有英语成绩的学员
select * from stu where english is NOT NULL;
#查询有英语成绩的学员 并且英语成绩 在60 - 80分之间
select * from stu where english is not null AND english BETWEEN 60 AND 80;
#查询有英语成绩的学员 并且英语成绩 在60 - 80分之间   并且来自于杭州
select * from stu where english is NOT NULL AND english BETWEEN 60 AND 80 AND address = '杭州';
#查询名称中包含青的学员
select * from stu where `NAME` LIKE '%青%';
#查询名称中以德结尾的学员
select * from stu where `NAME` LIKE '%德';
#查询姓马学员,并且名字只有二位字符
select * from stu where `NAME` LIKE '马_';
#查询学员信息,按照数学成绩升序排序  如果数学成绩相同按照英语成绩降序
select * from stu ORDER BY math,english DESC;
#查询学生信息,按照英语升序排序
select * from stu ORDER BY english;
#计算学生的个数
select COUNT(*) FROM stu;
#计算所有学生的数学平均成绩
select AVG(math) from stu;
#计算所有学生数学成绩的总和 和英语成绩的总和
select SUM(math),SUM(english) FROM stu;
#计算所有学生数学成绩+英语成绩的总和
select SUM(math)+SUM(english) AS `count` FROM stu;
#查询各个地区的学生的数量
select address,COUNT(address) FROM stu GROUP BY address;
#查询各个地区的数学分数在70分以上的学生的数量
select address,COUNT(address) from stu WHERE math >= 70 GROUP BY address;
#查询各个地区的数学分数在70分以上的学生的数量 并且 学生人数大于2人
select address,COUNT(address) FROM stu where math >=70 GROUP BY address HAVING COUNT(address) >=2;
#获取学生数据  获取第二页 每页显示5条
select * from stu LIMIT 5,5;

本系列题目均从网上收集,sql自己重写并修改了一些bug和错误,基本上应该没有错误,如有错误或问题可以评论留言,感谢观看

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值