#1,查询1832班的成绩信息
SELECT * FROM GRADE WHERE class =1832;
#2,查询1833班,语文成绩大于80小于90的所有成绩信息
SELECT * from GRADE WHERE class =1833 and (CHINESE BETWEEN 80 and 90);
#3,查询学生表中5到10行的数据
SELECT * FROM GRADE WHERE ID LIMIT 4,6;
#4,显示1832班英语成绩为98,数学成绩为77的姓名与学号,
SELECT NAME,ID FROM GRADE WHERE CLASS =1832 AND ENGLISH =98 AND MATH =77;
#5,查询出1832班成绩并且按语文成绩排序(降序)
SELECT * FROM GRADE WHERE CLASS=1832 ORDER BY CHINESE desc;
-- 6,查询1833班与1832班,语文成绩与数学成绩都小于80的姓名。
SELECT NAME FROM GRADE WHERE (CLASS =1832 OR CLASS =1833) AND (CHINESE < 80 AND ENGLISH <80);
-- 7,查询出没有参加语文考试的学生姓名和班级名称。
SELECT NAME,CLASS FROM GRADE WHERE CHINESE is NULL;
-- 8,求出班上语文成绩不及格的学生姓名
SELECT NAME FROM GRADE WHERE chinese < 60;
-- 9,求出每个班的数学平均成绩
select class, avg(math) from GRADE group by class;
-- 10、求出每个班级语文成绩总分 --涉及到每个的时候都需要分组
select class, SUM(CHINESE) from GRADE group by class;
-- 11、将语文成绩不及格的学生语文成绩改为60分
UPDATE GRADE
SET CHINESE = 60
WHERE
CHINESE < 60;
SELECT
*
FROM
GRADE;
-- 12、三科分数都大于70分的人名和年纪
SELECT
*
FROM
GRADE
WHERE
CHINESE > 70
AND MATH > 70
AND ENGLISH > 70;
-- 13、求出英语分数高于70且其它任何一科目大于60分的人和班级
SELECT NAME,class FROM GRADE WHERE ENGLISH >70 AND (CHINESE>60 OR MATH >60);
-- 14、统计每个班的人数
SELECT COUNT(id),CLASS FROM GRADE GROUP BY CLASS;
-- 15、求每个班数学成绩大于80的人数
SELECT COUNT(ID),class from GRADE WHERE MATH >80 GROUP BY CLASS;
-- 16、求出每个班英语成绩最高的分数和班级名称 --每个班英语成绩最高
SELECT MAX(ENGLISH) ,CLASS,ENGLISH FROM GRADE GROUP BY CLASS;
-- 17、给GRADE表增加3个字段(数据类型及长度自定义,建议要合理,
ALTER TABLE GRADE add (total FLOAT(5,2) not NULL ,sex2 VARCHAR(2) ,AGE_2 INT(3));
ALTER TABLE GRADE CHANGE AGE_1 AGE_1 INT(3) DEFAULT '18';
|
|