我有兴趣使用以下两个表格来查找按性别划分的商学院2018年第一周的学生人数。在此,ID是每个数据表的主键或主键的一部分。在计划表中,程序是学生所在的大学(在我们的情况下为“ Business”),“性别”的值为M和F,“ TERM”值为“ Fall”,“ Spring”和“ Summer”,Sessions值为,“第一周”和“第二周”。我想知道您是否可以检查我的代码。我是SQL的新手!衷心感谢您的宝贵时间。
我的SQL代码:
SELECT count(Student.ID) as COUNT, Student.Sex as Sex
FROM Student JOIN Plan
on Student.ID=Plan.ID
WHERE Student.Term="Fall"
AND Student.Sessions="1st Week"
AND Plan.Program="Business"
GROUP BY Student.Sex;
无论如何,我在这里创建了小提琴供您参考:
https://www.db-fiddle.com/f/7G2DwLB6SNqbAtKeD96nWG/1
而且我可以得出结论,根据您给出的查询条件,它是正确的。但是就像@Benny提到的那样,字段ID
通常是指表数据ID
。例如,ID
中的Student
是学生ID,而在Plan
中,每个计划的ID
很有可能。但是您说的是相同的,并且student_id
表中没有Plan
列,因此应该没问题。
答案取决于计划表中的ID列是否是学生的ID号,我认为不是。计划表应为每个学生课程组合包含一个条目,以说明同一学生有不同课程的情况。请参阅:一对多关系。从那里开始,在对select子句中提到的所有字段进行分组之后,您应该能够执行此查询。