Mysql 基础查询习题及答案

1. 题目:从 students 表中查询所有学生的信息。
students 表结构:id(学生ID,整数类型,主键),name(学生姓名,字符串类型),age(学生年龄,整数类型),class(所在班级,字符串类型)。
答案:
SELECT * FROM students;
2. 题目:从 students 表中查询所有学生的姓名和年龄。
答案:
SELECT name, age FROM students;
条件查询

1. 题目:从 students 表中查询年龄大于20岁的学生的姓名和年龄。
答案:
SELECT name, age FROM students WHERE age > 20;
2. 题目:从 students 表中查询班级为“三年二班”且年龄小于等于18岁的学生信息。
答案:
SELECT * FROM students WHERE class = '三年二班' AND age <= 18;
排序

1. 题目:从 students 表中查询所有学生信息,并按照年龄从小到大排序。
答案:
SELECT * FROM students ORDER BY age ASC;
2. 题目:从 students 表中查询所有学生的姓名和年龄,按照年龄从大到小排序,如果年龄相同则按姓名升序排序。
答案:
SELECT name, age FROM students ORDER BY age DESC, name ASC;
聚合函数

1. 题目:查询 students 表中学生的总人数。
答案:
SELECT COUNT(*) FROM students;
2. 题目:查询 students 表中学生的平均年龄。
答案:
SELECT AVG(age) FROM students;
分组

1. 题目:按班级分组,统计每个班级的学生人数。
答案:
SELECT class, COUNT(*) AS student_count 
FROM students 
GROUP BY class;
2. 题目:按班级分组,统计每个班级年龄大于18岁的学生人数,并且只显示人数大于5的班级分组结果。
答案:
SELECT class, COUNT(*) AS student_count 
FROM students 
WHERE age > 18 
GROUP BY class 
HAVING student_count > 5;
连接查询

假设有 students 表(结构同上)和 scores 表,scores 表结构:id(成绩ID,整数类型,主键),student_id(学生ID,整数类型,外键关联 students 表的 id),course(课程名称,字符串类型),score(成绩,整数类型)。

1. 题目:查询每个学生的姓名及其对应的课程成绩,通过 student_id 关联两张表。
答案:
SELECT students.name, scores.course, scores.score 
FROM students 
JOIN scores ON students.id = scores.student_id;
2. 题目:查询所有学生的姓名以及他们选修的数学课程的成绩,如果某个学生没有选修数学课程,成绩显示为NULL ,通过 student_id 关联两张表。
答案:
SELECT students.name, scores.score 
FROM students 
LEFT JOIN scores ON students.id = scores.student_id AND scores.course = '数学';

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值