————————————————————————
注:小白练习答案不一定准确
————————————————————————
练习题如下:
①从学生表当中查询所有数据
②从学生表当中查询学生的姓名、学号、年龄、性别
③从学生表中查询年龄大于18岁的学生
④从学生表中查询年龄大于18岁的女学生
⑤从学生表中查询年龄大于18岁的女学生并且按照年龄降序,班级升序的条件排序
⑥从学生表中查询年龄大于18岁的女学生或者是年龄小于18的男学生;
⑦从学生表中查询学生最大、最小的年龄和学生总数,学生平均年龄
⑧从学生表中查询每个班学生最大、最小的年龄和学生总数,学生平均年龄
⑨从学生表中查询每个班学生最大、最小的年龄和学生总数,学生平均年龄,筛选出班级学生总数大于5的数据结果
⑩从学生表中查询每个班学生最大、最小的年龄和学生总数,学生平均年龄,并且查询结果按照班级排序。
⑪从学生表中查询班级名称和每个班学生最大、最小的年龄和学生总数,学生平均年龄,并且查询结果按照班级排序。
⑫罗列出每个班级的学生信息,按班级排序
⑬查询学生人数大于5个的班级信息,并且按照班级排序
答:
①从学生表当中查询所有数据
1.SELECT * FROM student
②从学生表当中查询学生的姓名、学号、年龄、性别
2.SELECT `Stu_name`,`stu_code`,`stu_age` ,`stu_gender`FROM student
③从学生表中查询年龄大于18岁的学生
3.SELECT Stu_name,`Stu_age` FORM student
WHERE Stu_age>=18
④从学生表中查询年龄大于18岁的女学生
4.SELECT Stu_name,`Stu_age` FORM student
WHERE Stu_age>=18 AND Stu_gender='女'
⑤从学生表中查询年龄大于18岁的女学生并且按照年龄降序,班级升序的条件排序
5.SELECT `Stu_name`,`Stu_age` FORM student
WHERE Stu_age>=18 AND Stu_gender LIKE '女'
ORDER BY Stu_age DESC,Class_id ASC
⑥从学生表中查询年龄大于18岁的女学生或者是年龄小于18的男学生
6.SELECT Stu_name,`Stu_age` FORM student
WHERE (stu_age>18 AND stu_gender LIKE '女') OR (stu_age <=18 AND stu_gender LIKE '男')
⑦从学生表中查询学生最大、最小的年龄和学生总数,学生平均年龄
7.SELECT MAX(stu_age) , MIN(stu_age), COUNT (stu_id) , AVG (stu_age) FROM FROM student
⑧从学生表中查询每个班学生最大、最小的年龄和学生总数,学生平均年龄
8.SELECT MAX(stuu_age) , MIN(stu_age), COUNT (stu_id) , AVG (stu_age), class_id FROM student
GROUP BY class_id
⑨从学生表中查询每个班学生最大、最小的年龄和学生总数,学生平均年龄,筛选出班级学生总数大于5的数据结果
9.SELECT MAX(stu_age) , MIN(stu_age), COUNT (stu_id) AS `number`, AVG (stu_age), class_id FROM student
GROUP BY class_id
HAVING `number` > 5
⑩从学生表中查询每个班学生最大、最小的年龄和学生总数,学生平均年龄,并且查询结果按照班级排序
10.SELECT MAX(stuu_age) , MIN(stu_age), COUNT (stu_id) , AVG (stu_age), class_id FROM student
ORDER BY class_id DESC
GROUP BY class_id
⑪从学生表中查询班级名称和每个班学生最大、最小的年龄和学生总数,学生平均年龄,并且查询结果按照班级排序
11.SELECT class_name , MAX(stu_age) , MIN(stu_age), COUNT (stu_id) , AVG (stu_age)FROM student
INNER JOIN class ON student.class_id =class.class_id
GROUP BY student.class_id
ORDER BY student.class_id DESC
⑫罗列出每个班级的学生信息,按班级排序
12.SELECT class_name ,student.class_id,stu_name,stu_age,stu_code,stu_gender FROM student
INNER JOIN class ON class.class_id =student.class_id
ORDER BY student.class_id DESC
⑬查询学生人数大于5个的班级信息,并且按照班级排序
13.SELECT*FROM class
WHERE class.id IN(
SELECT class.id FROM class,student
WHERE class.class_id =student.class_id
GROUP BY class.id
HAVING COUNT(stu_id) > 5
)
ORDER BY class_id DESC