可以使用 LEFT JOIN 和 GROUP BY 子句来查询开设的课程中选课人数不足15人的课程号及人数信息,包括没人选的课程。以下是一种可能的 SQL 语句:
```
SELECT courses.id, COUNT(scores.student_id) AS num_students
FROM courses
LEFT JOIN scores ON courses.id = scores.course_id
GROUP BY courses.id
HAVING COUNT(scores.student_id) < 15 OR COUNT(scores.student_id) IS NULL;
```
解释一下这个 SQL 语句:
1. 首先在 FROM 子句中列出需要查询的表。
2. 然后使用 LEFT JOIN 连接 courses 表和 scores 表,以便获取每门课程的选课人数。
3. 在 SELECT 子句中选择课程号和选课人数,并使用 COUNT 函数计算选课人数。
4. 在 GROUP BY 子句中按照课程号分组。
5. 最后使用 HAVING 子句筛选出选课人数不足15人或者没有人选的课程。
需要注意的是,由于要包括没有人选的课程,所以需要使用 LEFT JOIN 而不是 INNER JOIN。