别人说这个题目涉及了百分之八十的oracle知识,来挑战下吗?

建表语句如下:

 选课表:

CREATE TABLE PM_CI
   ( CI_ID VARCHAR2(20) NOT NULL ENABLE, 
STU_IDS VARCHAR2(100)
   ) ;

 学生表:

CREATE TABLE PM_STU
   ( STU_ID VARCHAR2(20) NOT NULL ENABLE, 
STU_NAME VARCHAR2(100)
   ) ;

数据如下:

选课表:

ci_id  stu_ids 

1 1,2,3,4
2 1,4


学生表:

stu_id stu_name 

1 张三
2 李四
3 王五
4 赵六

要求查询结果如图所示:

课程号 选课学生 

1 张三,李四,赵六,王五

2 张三,赵六

 

提示如下:

1、需呀进行两个表的连接查询,为两个表都取别名

2、使用instr(a,b,1)函数;该函数的含义为:字符串b在字符串a中第一次出现的位置,如果a中没有字符串b则返回0

3、需要用到分组查询

4、使用wm_concat(cols) 函数对学生姓名用逗号进行拼接

 

 

我的答案在下篇文章中写出,欢迎留下你的答案。 



 

posted @ 2019-08-03 13:10  你居然是华神  阅读(180)  评论(0编辑  收藏  举报