1. 课堂引入:从"仓库"里找东西
🎤 前面我们学会了往仓库里放货(INSERT)、改标签(UPDATE)、下架(DELETE)。但数据库存在的终极目的,是"随时能查"——查某个学生、查某门课的平均分、查谁不及格。今天起,SELECT 将成为你用得最频繁的命令。
完整查询的"骨架"记住它,后面全是往里填零件:
sql
SELECT 字段列表
FROM 表名
WHERE 条件
GROUP BY 分组字段
HAVING 分组后条件
ORDER BY 排序字段
LIMIT 分页参数;📝 本节例题
以下例题均基于 教学实例 库(student / course / sc / teacher / grades / dept / emp),开始前先执行 USE 教学实例;。建议先自己写一遍,再展开答案对照。
例 1
查看 student 表的前 5 名学生。
查看参考答案(可复制)
sql
SELECT * FROM student LIMIT 5;💡 LIMIT 5 只取前 5 行,先看样本再决定怎么查,比 SELECT * 全表扫稳妥。
例 2
查看 course 表中开设的全部课程。
查看参考答案(可复制)
sql
SELECT * FROM course;💡 课程表只有 4 行,是理解表关系最好的入口。
例 3
统计学生总人数,以及这些学生分布在多少个不同的班级。
查看参考答案(可复制)
sql
SELECT COUNT(*) AS 总人数, COUNT(DISTINCT class) AS 班级数
FROM student;💡 COUNT(DISTINCT 列名) 先去重再计数,用来统计'有多少种'。