肖sir __数据库练习__001

建表语句:

create table student ( id int(4),age int(8),sex int(4),name varchar(20), class int(4), math int(4)) DEFAULT charset=utf8;

INSERT into student VALUES(1,25,1,'zhansan',1833,90);

INSERT into student VALUES(2,25,1,'lisi',1833,67);

INSERT into student VALUES(3,28,0,'wangwu',1835,79);

INSERT into student VALUES(4,35,1,'xiaoliu',1835,96);

INSERT into student VALUES(5,27,0,'xiaoli',1833,86);

INSERT into student VALUES(6,32,1,'xiaochen',1835,48);

INSERT into student VALUES(7,22,1,'xiaowu',1834,70);

INSERT into student VALUES(8,31,0,'xiaoqi',1825,88);

INSERT into student VALUES(9,27,0,'xiaoqi',1833,74);

INSERT into student VALUES(10,27,1,'niuqi',null,80);

select * from student ;

表结构:

表:

题目:

1、查询1833班信息的2,4行的数据

结果: 信息 所有 用的*

条件:class=1833 ,limit 1,3

语句:select * from student where class=1833 LIMIT 1,3 ;

2、显示班级为空的id和姓名、和数学分数

结果: id,name, math

条件:class is null

语句:select id,name,math from student where class is null ;

3、统计每个班级人数

结果: 班级class,人数 conut(name)

条件:每个班级 gourp by

语句:

SELECT class,count(name) from student group by class;

SELECT class,count(name) from student group by class;

SELECT class,count(id) from student group by class;

截图:

4、最1833班数学成绩最大的ID年龄和姓名

结果:id,age,name

条件:class=1833,max(math)

语句:

方法1:

Select id,class,name from student where class=1833 and math=(select max(math) from student where class=1833);

方法2:弊端,有重复第一名,只显示一个

Select id,class,name from student where class=1833 order by math desc LIMIT 0,1 ;

截图:

5、求数学分最小的班级 ID年龄和姓名

结果: id ,age, name

条件:数学分最小 min(math)

语句:

方法1:select class,id,name from student where math=(select min(math) from student);

方法2:select class,id,age,name from student ORDER BY math ASC limit 0,1;

截图:

6、求1833班数学分总和

结果:sum(math)

条件:class=1833

语句:select sum(math) from student where class=1833;

截图:

7、求所有班级分数总和

结果:sum(math)

条件:

语句:select sum(math) from student

截图:

8、求年纪最大的班级并显示班级年龄和姓名分数

结果:class,age,name,math

条件: max(age) 的class

语句:select class,age,name,math from student where class=(select class from student where age=(select max(age) from student ));

截图:

9、统计sex中1和0每个的总数

结果:count(sex)

条件: group by sex

语句:

方法1:select sex,count(sex) FROM student group by sex;

方法2:select count(case when sex=1 then 1 end) as sex1,count(case when sex=0 then 0 end)as sex0 from student;

截图:

10、求出所有班级年纪平均数

11、求出1835班年纪的平均数

12、求出1833班年纪的平均数

13、将所有数据按照年纪进行降序后显示年纪姓名和班级

14、将所有数据按照年纪升序显示年纪姓名班级和数学分数

15、按照班级将进行分组

16、根据age字段进行降序排序;

17、根据math字段进行升序排序,并显示前5行所有数据;

18、把lisi的数学成绩改为69分

19、查找性别不为1的所有数据

20、只显示表中姓名,且将相同的姓名名称去重

21、统计表中行数

22、统计年纪在27岁的有多少

23、统计年纪大于25小于35的有多少

24、求数学分总和

25、求分数最小

26、求平均分

27、只显示3-8行的数据

28、查找姓名尾号为qi的所有数据

29、查询姓名开头为xiao的所有数据

30、查询中间值为ao开头的所有数据

批量注释:ctrl+/

批量取消注释ctrl+shift+/

相关推荐
HackTwoHub2 小时前
AI大模型网关存在SQL注入、附 POC 复现、影响版本LiteLLM 1.81.16~1.83.7(CVE-2026-42208)
数据库·人工智能·sql·网络安全·系统安全·网络攻击模型·安全架构
l1t3 小时前
DeepSeek总结的DuckLake构建基于 SQL 原生表格式的下一代数据湖仓
数据库·sql
KmSH8umpK3 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第八篇
数据库·redis·分布式
TDengine (老段)3 小时前
从施工监测到运营预警,桥科院用 TDengine 提升桥梁数据管理能力
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
S1998_1997111609•X4 小时前
论mysql国盾shell-sfa犯罪行为集团下的分项工程及反向注入原理尐深度纳米算法下的鐌檵鄐鉎行为
网络·数据库·网络协议·百度·开闭原则
KmSH8umpK5 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第七篇
数据库·redis·分布式
BU摆烂会噶6 小时前
【LangGraph】持久化实现的三大能力——时间旅行
数据库·人工智能·python·postgresql·langchain
l1t7 小时前
DeepSeek总结的DuckLake 入门
数据库
Joseph Cooper7 小时前
RAG 与 AI Agent:智能体真的需要检索增强生成吗?
数据库·人工智能·ai·agent·rag·上下文工程
light blue bird7 小时前
主子端台二分法任务汇总组件
前端·数据库·.net·桌面端winform