34,587
社区成员
发帖
与我相关
我的任务
分享
-- 试试这个 ,未测试
select 班级
from t
group by 班级
having count(*) = sum(case when 性别 = '男' then 1 else 0 end)
DECLARE @t TABLE(
[学号] varchar(10),
[姓名] nvarchar(10),
[班级] nvarchar(10),
[性别] nchar(1)
)
INSERT INTO @t
SELECT '100101001','张永立','计算机软件','男'
UNION ALL SELECT '100101002','刘晨','计算机应用','女'
UNION ALL SELECT '100101003','王小敏','计算机应用','女'
UNION ALL SELECT '100101004','王小敏','计算机应用','女'
UNION ALL SELECT '100101005','张学成','计算机软件','男'
UNION ALL SELECT '100101006','李明','计算机软件','男'
UNION ALL SELECT '100101007','李明','计算机应用','女'
UNION ALL SELECT '100101008','李明','计算机软件','男'
UNION ALL SELECT '100101009','李明','计算机软件','男'
UNION ALL SELECT '100101010','李小红','计算机应用','男'
UNION ALL SELECT '100101011','李小路','计算机软件','男'
SELECT 班级 FROM @t b
WHERE NOT EXISTS(
SELECT 1 FROM @t a WHERE a.班级=b.班级 and a.性别='女'
)
GROUP BY 班级
/*
班级
计算机软件
*/