宝安22期~陈超群 发表于 2022-3-13 23:51:44

宝安22 陈超群

#创建学生表
CREATE TABLE GRADE(
ID INT PRIMARY KEY AUTO_INCREMENT COMMENT'学号',
NAME VARCHAR(20) COMMENT'姓名',
AGE INT COMMENT'年龄',
CLASS INT COMMENT'班级',
CHINESE INT COMMENT'语文分数',
ENGLISH INT COMMENT'英语分数',
MATH INT COMMENT'数学分数'
)ENGINE=INNODB DEFAULT CHARSET=UTF8 COMMENT'学生表';
#插入表数据
insert into GRADE values
(1,'zhangsan',18,1832,80,90,77),
(2,'lisi',18,1832,90,90,90),
(3,'wangwu',19,1833,99,98,100),
(4,'zhaoliu',17,1833,85,78,85),
(5,'xiaoqi',17,1832,60,80,88),
(6,'xiaoba',18,1833,70,82,90);

1,查询1832班的成绩信息
select chinese,math,english
from grade
where class=1832;
2,查询1833班,语文成绩大于80小于90的所有成绩信息
select id, name ,class,(chinese>80 and chinese<90)
FROM grade
where class=1833,
3,查询学生表中5到10行的数据
select *
from grade
where id limit 4,6;

4,显示1832班英语成绩为98,数学成绩为77的姓名与学号,
SELECT id,name,class,(english=98 and math=77)
from grade
where class=1832 ;
5,查询出1832班成绩并且按语文成绩排序(降序)
SELECT *
from grade
WHERE class=1832 order by chinese DESC;
6,查询1833班与1832班,语文成绩与数学成绩都小于80的姓名。
SELECT *
FROM grade
WHERE class=1833 and class=1832,between chinese <80 and math<80;
7,查询出没有参加语文考试的学生姓名和班级名称。
SELECT name ,class
FROM grade
WHERE chinese < 0;
8,求出班上语文成绩不及格的学生姓名
SELECT NAME,class,chinese
from grade
WHERE chinese < 60;
9,求出每个班的数学平均成绩
select avg(math)
from grade group by class;
10、求出每个班级语文成绩总分 --涉及到每个的时候都需要分组
SELECT sum(chinese),class
from grade GROUP BY class;
11、将语文成绩不及格的学生语文成绩改为60分
update grade set chinese = 60 where chinese <60;
12、三科分数都大于70分的人名和年纪
SELECT name,age,chinese,english,math
FROM grade
WHERE chinese>70 and english>70 and math>70;
13、求出英语分数高于70且其它任何一科目大于60分的人和班级
SELECT name,class,(english>70 and math>60) from grade;
14、统计每个班的人数
SELECT count(*)from grade GROUP BY calss;
15、求每个班数学成绩大于80的人数
SELECT count(math>80),FROM geade GROUP BY class;
16、求出每个班英语成绩最高的分数和班级名称 --每个班英语成绩最高
SELECT MAX(english),class,from grade GROUP BY class;
17、给GRADE表增加3个字段(数据类型及长度自定义,建议要合理,
INSERT INTO geade (shoe,pants,clothes)values (40,32,xl);

页: [1]
查看完整版本: 宝安22 陈超群