--3.查询出9月份入学的所以学生 班级名称 学生姓名 --4.查询出所以班级里面的男生和女生的数量 --5.查询出所以班级的内蒙古地区的学生的数量;使用oracle数据库的sql语句
时间: 2024-10-12 16:18:23 浏览: 117
好的,以下是针对您的Oracle SQL查询需求:
1. 查询出9月份入学的所有学生及其所在的班级名称和学生姓名:
```sql
SELECT students.name AS student_name, classes.class_name
FROM students
INNER JOIN enrollments ON students.student_id = enrollments.student_id
INNER JOIN classes ON enrollments.class_id = classes.class_id
WHERE enrollments.enrollment_date >= '2022-09-01' AND enrollments.enrollment_date < '2022-10-01';
```
这里假设`students`表有学生信息,包括`student_id`和`name`字段;`enrollments`表记录入学信息,包含`student_id`, `class_id`和`enrollment_date`字段;`classes`表有班级信息,包括`class_id`和`class_name`字段。
2. 查询所有班级的男女生数量:
```sql
SELECT class_name,
(SELECT COUNT(*) FROM students WHERE gender = '男' AND class_id = classes.class_id) AS male_count,
(SELECT COUNT(*) FROM students WHERE gender = '女' AND class_id = classes.class_id) AS female_count
FROM classes;
```
这个查询需要分别计算每个班级内的男生和女生人数,假设`students`表有一个`gender`字段表示性别。
3. 查询所有班级来自内蒙古地区的学生的数量:
```sql
SELECT class_name, COUNT(DISTINCT students.student_id) AS inner_mongolia_students_count
FROM classes
JOIN enrollments ON classes.class_id = enrollments.class_id
JOIN students ON enrollments.student_id = students.student_id
WHERE students.province = '内蒙古'
GROUP BY classes.class_name;
```
这个查询统计了来自内蒙古地区的学生的总数,按班级分类。
阅读全文