数据库第三次练习

设置

创建数据表grade:

CREATE TABLE grade(
id INT NOT NULL,
sex CHAR(1),
firstname VARCHAR(20) NOT NULL,
lastname VARCHAR(20) NOT NULL,
english FLOAT,
math FLOAT,
chinese FLOAT
);
向数据表grade中插入几条数据:

INSERT INTO grade
VALUES (1,‘m’,‘John’,‘Smith’,88.0,85.0,82.0),
(2,‘f’,‘Adam’,‘Smith’,76.0,78.0,90.0),
(3,‘m’,‘Allen’,‘William’,88.0,92.0,95.0),
(4,‘m’,‘George’,‘William’,62.0,58.0,72.0),
(5,‘f’,‘Alice’,‘Davis’,89.0,94.0,98.0),
(6,‘m’,‘Kevin’,‘Miller’,77.0,88.0,99.0),
(7,‘f’,‘Helen’,‘Davis’,79.0,83.0,91.0),
(8,‘m’,‘Andrew’,‘Johnson’,81.0,86.0,88.0);
在这里插入图片描述

练习

1、查询所有字段

select * from grade;

在这里插入图片描述

2、查询grade表中的id,firstname,lastname字段

select id,firstname,lastname from grade;

在这里插入图片描述

3、查询grade表中id大于4的学生姓名

 select id,firstname,lastname from grade where id > 4;

在这里插入图片描述

4、查询grade表中女生的记录

 select * from grade where sex = 'f';

在这里插入图片描述

5、查询grade表中id值为2,4,6的学生记录

 select * from grade where id = 2 or id = 4 or id = 6;

在这里插入图片描述

6、查询grade表中math成绩在85到94之间的记录

select * from grade where math between 85 and 94;

在这里插入图片描述

7、查询grade表中firstname以A开头的记录

select * from grade where firstname like 'A%';

在这里插入图片描述

8、查询grade表中firstname以A开头以e结尾的记录

select * from grade where firstname like 'A%e';

在这里插入图片描述

9、查询grade表中firstname包含l的记录

select * from grade where firstname like '%l%';

在这里插入图片描述

10、查询grade表中firstname以A开头后面有4个字符的记录

 select * from grade where firstname like 'A____';

在这里插入图片描述

11、查询grade表中english在80到90之间的记录

select * from grade where english between 80 and 90;

在这里插入图片描述

12、查询grade表中math大于90 或者 chinese大于90的记录

select * from grade where math > 90 or chinese > 90;

在这里插入图片描述

13、查询grade表中id不是1、3、5、7的记录

select * from grade where  id not in (1,3,5,7);

在这里插入图片描述

14、查询grade表中的性别有哪些

select distinct sex from grade;

在这里插入图片描述

15、查询grade表中的lastname有哪几种

select distinct lastname from grade;

在这里插入图片描述

16、求出表中所有记录的条数

 select count(*) from grade;

在这里插入图片描述

17、求出表中英语成绩的80的记录的条数

select count(*) from grade where english = 80;

在这里插入图片描述

18、计算所有学生的数学成绩的和

select sum(math) from grade;

在这里插入图片描述

19、计算女生的数学成绩的和

select sum(math) from grade where sex = 'f';

在这里插入图片描述

20、计算英语成绩平均分

 select avg(english) from grade;

在这里插入图片描述

21、计算男生的英语成绩平均分

select avg(english) from grade where sex = 'm';

在这里插入图片描述

22、求出数学成绩的最高分

select max(math) from grade;

在这里插入图片描述

23、求出男生中的数学最高分

select max(math) from grade where sex = 'm';

在这里插入图片描述

24、按照math成绩的升序进行排列

select * from grade order by math;

在这里插入图片描述

25、按照sex字段的升序和chinese字段的降序排列

select * from grade order by sex,chinese desc;

在这里插入图片描述

26、查询数据表grade中的记录,按照sex字段进行分组

select sex from grade group by sex;

在这里插入图片描述

27、将grade表按照lastname字段值分组,并计算每个分组中的学生数

select lastname,count(*) from grade group by lastname;

在这里插入图片描述

28、对grade表按照lastname字段分组,查出math字段和小于100的组

select lastname from grade group by lastname having sum(math) <100;

在这里插入图片描述

29、查询grade表中的第3到第6条记录

select * from grade order by id limit 2,4;

在这里插入图片描述

30、查询grade表中男生平均成绩(三科)大于85的记录

select * from grade where sex = 'm' and (english + math + chinese)/3 > 85;

在这里插入图片描述

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值