用sql语句进行筛选

有下表:姓名课程XAYBXCZA求:不选A课程的姓名... 有下表:
姓名 课程
X A
Y B
X C
Z A
求:不选 A课程的姓名
展开
 我来答
zxchan1992
2015-08-27 · TA获得超过278个赞
知道小有建树答主
回答量:179
采纳率:0%
帮助的人:234万
展开全部
select * from t A
where not exists(select * from t where 课程='A' and 姓名=A.姓名)

select * from t
where 姓名 not in(
select 姓名 from T where 课程='A'
)
追问
select * from t A
where not exists(select * from t where 课程='A' and 姓名=A.姓名)
这个没看太懂,姓名=A.姓名 ,这句有什么用
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
扰龙星剑Mu
2015-08-26 · TA获得超过1994个赞
知道小有建树答主
回答量:910
采纳率:50%
帮助的人:357万
展开全部
select 姓名 from 表 where 课程 != 'A'
追问
这样的话会把X也选 了,但X是选了A课程的
追答
select 姓名 
from 表 
where 姓名 not exists
     (select 姓名 from 表 where 课程 = ‘A’)

上面的语句就是说,排除了选择课程A的姓名,剩下就是没有选择A的姓名

所以sql语句也可以写成下面的

select 姓名 from 表
minus
select 姓名 from 表 where 课程 = ‘A’
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Rankabc
2015-08-26 · TA获得超过3561个赞
知道大有可为答主
回答量:3705
采纳率:59%
帮助的人:1069万
展开全部
select 姓名 from table_name
where 课程!='A'
追问
这样的话会把X也选 了,但X是选了A课程的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式