假设您的数据库中有以下两张表:
- `student` 表,包含学生信息,其中 `id` 是学生的唯一标识符,`name` 是学生姓名。
- `score` 表,包含学生成绩信息,其中 `student_id` 和 `course_id` 分别是学生和课程的唯一标识符,`score` 是学生在该门课程中的成绩。
则可以使用如下 SQL 语句查询选修课程数低于3门的学生信息:
```
SELECT s.id, s.name, COUNT(sc.course_id) AS course_count
FROM student s
LEFT JOIN score sc ON s.id = sc.student_id
GROUP BY s.id
HAVING COUNT(sc.course_id) < 3;
```
以上 SQL 语句中,通过 `LEFT JOIN` 关键字将学生表和成绩表连接起来,然后使用 `GROUP BY` 子句按照学生 ID 分组,并使用 `COUNT` 函数统计每个学生选修的课程数。最后使用 `HAVING` 子句筛选出选修课程数低于3门的学生,并返回他们的 ID、姓名和选修课程数。