数据库表的一个查询问题

检索出sc表中至少选修一门课程的学生学号的记录。

表结构:
CREATE TABLE sc (
sno char(7) ,
cno char(7) ,
score decimal(4,1),
point decimal(2,1),
PRIMARY KEY (sno,cno)
) ;
请问这个查询语句要怎么写?

根据学号进行分组,判断having count(1)>=1

select sno from sc group by sno having count(1)>=1

select sno from sc group by sno having count(sno)>0

你这表里哪个字段是选修?还是说选修标识在其他表里?或者说所有课程都是选修?
这一个表count大于0没意义啊,如果所有课程都是选修的话,那么只要存在于这个表的所有学生都会满足这个条件。
所以你题目是不是没给完整?

至少选修一门课程等价于不存在没有选修的学生。
select sho
from 表
where not exists (select sno
from表
where cno is null)

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632