表的连接几十年没变,没有什么普通连表高级连表一说。无非是你要用SQL技巧去解决煞笔的表设计,表设计得越煞笔,SQL技巧就越绚丽。如果科目的字符不会重复 instr(student.class_id,class.class_id)>0如果科目的字符重复就用(select level from dual connect by level<?)拆行。
select class_id, class_name, ( select count(*) from student where instr(student.class_id||',' , class.class_id||',')>0) amount from class;
( select count(*) from student
where instr(student.class_id||',' , class.class_id||',')>0) amount
from class;