SQL关系查询帮助学生做运动

时间:2015-03-13 12:28:04

标签: sql

我正在做一个测试考试,我在SQL代码,关系代数和元组关系演算中遇到了一个特定的查询。

这里的情景。

我有3张桌子

学生(reg_no,姓名,地址)

标题

体育(sportId,title)

Student_Sport(reg_no,sportId,年份,容量)

在容量字段中,值是船长,副船长,会员

我想获得没有队长的运动名单。

任何人帮我?

2 个答案:

答案 0 :(得分:0)

SELECT * FROM Sport sp, Student_Sport st WHERE
sp.sportId=st.sportId AND st.Capacity IN ('Vice Captain','Member')

答案 1 :(得分:0)

有很多方法可以做到这一点。这是两个:

SELECT * FROM Sport  s
WHERE NOT EXISTS(SELECT * FROM Student_Sport st WHERE st.sportId = s.sportId AND st.name IN('Captain', 'Vice Captain'))

SELECT * FROM Sport  s
LEFT JOIN Student_Sport st ON st.sportId = s.sportId AND st.Capacity IN('Captain', 'Vice Captain')
WHERE st.sportId IS NULL