查询学生所选课程的SQL语句

学生表  Student

Studentid

Studentid

name

1

张三

2

李四

3

王五

课程表  Course

Courseid

Coursename

1

Java

2

C#

3

C

4

C++

5

Javascript

关系表  StudentCourse

Studentid

Courseid

1

1

1

4

2

1

2

3

2

5

 

题目是这样的:有学生表、课程表和关系表,查出学生所选的课程。要得出以下结果:

学生所选课程

张三

Java,C++

李四

Java,C,Javascript

 

请问这个SQL该如何写。

 

 

解析:通过for xml path,得出所有的课程结合stuff方法就可以将所选课程调整为题干所需要的形式。

测试正确的答案:

 

select distinct studentName , stuff((Select  ','+CourseName from course ,studentcourse a where course.COURSEId=a.courseID and a.studentid=student.studentid for xml path('')),1,1,'')
from student ,studentcourse where student.studentid=studentcourse.studentid

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值