我正在做一个测试考试,我在SQL代码,关系代数和元组关系演算中遇到了一个特定的查询。
这里的情景。
我有3张桌子
在容量字段中,值是船长,副船长,会员
我想获得没有队长的运动名单。
任何人帮我?
答案 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