读书人

请问大牛数据库联表查询有关问题~和

发布时间: 2013-09-05 16:02:07 作者: rapoo

请教大牛,数据库联表查询问题~~和普通联表情况不一样哦

现有两个表,student 学生表 (student_id,student_name,class_id)
和 class 课程表 (class_id,class_name),一个学生会上很多门课,所以student.class_id会是1,3,6,8这样的形式存值。

现在要查每门课有多少学生在上,怎么进行联表查询呢?
[解决办法]
表的连接几十年没变,没有什么普通连表高级连表一说。

无非是你要用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;

读书人网 >oracle

热点推荐