MySQL单表查询案例演示

发布于:2024-05-16 ⋅ 阅读:(60) ⋅ 点赞:(0)

目录

一、创建数据库lianxi

二、选择数据库为lianxi

三、新建一个数据表grade,在grade表中插入数据

四、开始进行查询操作(验证表中数据)

1、查询1945班的成绩信息

2、查询1945班,语文成绩大于60小于90的成绩信息

3、查询学生表中1到5行的数据

4、显示1945班英语成绩为80,数学成绩为50的姓名与学号,

5、查询出1945班成绩并且按英语成绩排序(降序)

6、查询1944班与1945班,语文成绩与数学成绩都小于80的姓名。

7、查询出没有参加语文/英语、数学考试的学生姓名和班级名称。

8、求出班上语文成绩不及格的学生姓名

9、求出每个班的语文平均成绩

10、求出每个班级英语成绩总分

11、求出每个班英语成绩最高的那个人的姓名和班级名称

12、英语、语文二科分数都大于70分的人名和年纪

13、求出语文分数高于70且其它任何一科目大于60分的人和班级

14、统计每个班的人数

15、求每个班语文成绩大于80的人数

16、查询姓名为z开头的人的班级姓名年纪

17、查询三科成绩都及格的班级并显示成绩姓名和年纪、学号

18、查询1944班语文成绩及格人数并显示及格成绩姓名,年纪和ID号

19、查询数学分数为99分的班级分数姓名和年纪

20、查询语文成绩和数学成绩都不及格的班级成绩姓名年纪

21、查询语文成绩和英语成绩都低于60分的班级,并显示成绩姓名和ID号

22、统计1944班语文成绩总和

23、统计1944班语文成绩大于平均成绩的人的姓名,成绩和ID号

24、查询姓名结尾为u的人,并显示班级姓名

25、查询数学成绩分数不为60的班级姓名年纪

26、给表增加2个字段,history和science

27、将语文成绩不及格的学生成绩改为60分

28、插入新数据liuyifa

29、将liuyifa的english成绩改成99

30、删除liuyibo的数据


一、创建数据库lianxi

指令:

create database lianxi;

演示:

二、选择数据库为lianxi

指令:

use lianxi;

演示:

三、新建一个数据表grade,在grade表中插入数据

指令:

mysql> create table `grade`(
    ->  `class` int (5),
    ->  `chinese` int(10),
    ->  `english` int(10),
    ->  `math` int(10),
    ->  `name` varchar(30),
    ->  `age` int(10),
    ->  `sid` int(4) not null auto_increment,
    ->  PRIMARY key (sid)
    -> )
    -> ;
mysql> insert into grade (class,chinese,english,math,name,age,sid) VALUES
    -> (1944,72,90,40,'zhangyibo',22,1),(1945,68,80,50,'liuyibo',25,2),(1945,74,20,45,'fuwo',23,3),(1945,44,24,99,'wanghong',25,4),(1946,90,90,90,'zhangqifei',30,5),(1945,80,80,80,'wangfu',28,6);

演示:

四、开始进行查询操作(验证表中数据)

指令:

select from * grade;

演示:

1、查询1945班的成绩信息

指令:

 select * from grade where class = 1945;

演示:

2、查询1945班,语文成绩大于60小于90的成绩信息

指令:

 select * from grade where class = 1945 and chinese > 60 and chinese < 90;

演示:

3、查询学生表中1到5行的数据

指令:

select * from grade limit 0,5;

演示:

4、显示1945班英语成绩为80,数学成绩为50的姓名与学号,

指令:

 select name, sid from grade where class = 1945 and english = 80 and math = 50;

演示:

5、查询出1945班成绩并且按英语成绩排序(降序)

指令:

select * from grade where class = 1945 order by english desc;

演示:

6、查询1944班与1945班,语文成绩与数学成绩都小于80的姓名。

指令:

 select name from grade where (class = 1944 or class = 1945) and chinese < 80 and m
ath < 80;

演示:

7、查询出没有参加语文/英语、数学考试的学生姓名和班级名称。

指令:

SELECT name, class FROM grade WHERE chinese IS NULL OR english IS NULL OR math IS NULL;

演示:

8、求出班上语文成绩不及格的学生姓名

指令:

select name from grade where chinese < 60;

演示:

9、求出每个班的语文平均成绩

指令:

select class, avg(chinese) as avg_chinese from grade group by class;

演示:

10、求出每个班级英语成绩总分

指令:

 select class, sum(english) as total_english from grade group by class;

演示:

11、求出每个班英语成绩最高的那个人的姓名和班级名称

指令:

 select class, max(english) as highest_english from grade group by class;

演示:

12、英语、语文二科分数都大于70分的人名和年纪

指令:

 select name, age from grade where english > 70 and chinese > 70;

演示:

13、求出语文分数高于70且其它任何一科目大于60分的人和班级

指令:

select class, name from grade where chinese > 70 and (english > 60 or math > 60);

演示:

14、统计每个班的人数

指令:

 select class, count(*) as num_students from grade group by class;

演示:

15、求每个班语文成绩大于80的人数

指令:

 select class, count(*) as num_students_above_80 from grade where chinese > 80 grou
p by class;

演示:

16、查询姓名为z开头的人的班级姓名年纪

指令:

 select name, class, age from grade where name like 'z%';

演示:

17、查询三科成绩都及格的班级并显示成绩姓名和年纪、学号

指令:

 select * from grade where chinese >= 60 and english >= 60 and math >= 60;

演示:

18、查询1944班语文成绩及格人数并显示及格成绩姓名,年纪和ID号

指令:

 select name, age, sid from grade where class = 1944 and chinese >= 60;

演示:

19、查询数学分数为99分的班级分数姓名和年纪

指令:

 select class, name, age from grade where math = 99;

演示:

20、查询语文成绩和数学成绩都不及格的班级成绩姓名年纪

指令:

 select class, name, age from grade where chinese < 60 and math <60;

演示:

21、查询语文成绩和英语成绩都低于60分的班级,并显示成绩姓名和ID号

指令:

 select class, name, sid from grade where chinese < 60 and english < 60;

演示:

22、统计1944班语文成绩总和

指令:

 select sum(chinese) as total_chinese from grade where class = 1944;

演示:

23、统计1944班语文成绩大于平均成绩的人的姓名,成绩和ID号

指令:

 select name, chinese, sid from grade where class = 1944 and chinese > (select avg(
chinese) from grade where class = 1944);

演示:

24、查询姓名结尾为u的人,并显示班级姓名

指令:

 select name, class from grade where name like '%u';

演示:

25、查询数学成绩分数不为60的班级姓名年纪

指令:

 select class, name, age from grade where math != 60;

演示:

26、给表增加2个字段,history和science

指令:

 alter table grade add column history int(10), add column science int(10);

演示:

27、将语文成绩不及格的学生成绩改为60分

指令:

 update grade set chinese = 60 where chinese < 60;

演示:

28、插入新数据liuyifa

指令:

 insert into grade (class, chinese, english, math, name, age) values (1945, 85, 75
, 80, 'liuyifa', 26);

演示:

29、将liuyifa的english成绩改成99

指令:

 update grade set english = 99 where name = 'liuyifa';

演示:

30、删除liuyibo的数据

指令:

 delete from grade where name = 'liuyifa';

演示: