在最近面试遇到的问题:
有一个表CLASS,有两列Class_NO,Class_Name;
Class_NO列保存了多个班级的id,Class_Name列对应每个班级中的学生名字(名字没有重复的)
问,如何在只知道某个人名字的情况下统计班级有多少人?
最开始的思路比较绕,就定位在了嵌套查询:
select count(Class_NO)
from CLASS
where Class_NO = (
select Class_NO
from CLASS
where Class_Name = "xxx"
)
然后,要求改为自连接查询
SELECT count(FIRST.Class_NO)
FROM CLASS FIRST,CLASSS ECOND
WHERE FIRST.Class_Name = "xxx" AND FIRST.Class_NO= SECOND.Class_NO;
嗯,大致就是把自己分为两个表,来连接查询,
开始没有想起来FIRST.Class_NO= SECOND.Class_NO,总感觉连不起来就卡住了,后来提醒了一下就通透了