MyException - 我的异常网
当前位置:我的异常网» Sql Server » 请问这个语句的具体处理过程含exists和相关子查询

请问这个语句的具体处理过程含exists和相关子查询(2)

www.MyException.Cn  网友分享于:2013-01-09  浏览:11次

3.有门课程没有选修的

Select 姓名 -- 1
from xs where not existsv --2
( select * from kc
where not exists --3
( select * from xs_kc
where 学号=xs.学号 and 课程号=kc.课程号
)
)
------解决方案--------------------
xs
张三
李四

kc
数学
语文
英语

xs_kc
张三 数学
张三 英语
李四 数学
李四 语文
李四 英语

从xs表里查询的第一层exists ,我们可以这样理解:
对于xs表的每一条数据,都要来判断是否满足括弧里面的条件
假设先取张三
然后看里面这层,kc表也要进行筛选,那我们也可以认为是每条数据都要来判断
假设取数学

那这个时候在xs_kc里查询,发现有一条数据满足学号=xs.学号(张三)、课程号=kc.课程号(数学)
那这个时候对于里面的这层查询来讲,数学就不符合条件了,
那再看语文
这个时候xs_kc 里不存在满足学号=xs.学号(张三)、课程号=kc.课程号(语文)的纪录
那语文就满足了内层连接的条件
实际上语文正是张三没有选的课程
当内层连接有数据返回的时候,第一层的数据就不符合条件了,因为是not exists ,
所以张三就不符合条件

同理,李四是符合条件的
所以这个语句的结果是李四
------解决方案--------------------
--楼主这样能理解吗?

select * from xs --4:符合条件的基本信息
where 学号 in
(
select 学号 from --3:符合的学号
(
select 学号,count(课程号) as 课程号数 from xs_kc --1:处理学号和科目的对应数
group by 学号
) tb
where 课程号数=(select count(1) from kc) --2:应该选择的科目数
)

文章评论

为什么程序员都是夜猫子
为什么程序员都是夜猫子
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
程序员必看的十大电影
程序员必看的十大电影
Java程序员必看电影
Java程序员必看电影
老程序员的下场
老程序员的下场
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
代码女神横空出世
代码女神横空出世
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
鲜为人知的编程真相
鲜为人知的编程真相
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
旅行,写作,编程
旅行,写作,编程
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
程序员和编码员之间的区别
程序员和编码员之间的区别
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
如何成为一名黑客
如何成为一名黑客
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
 程序员的样子
程序员的样子
我的丈夫是个程序员
我的丈夫是个程序员
那些争议最大的编程观点
那些争议最大的编程观点
我是如何打败拖延症的
我是如何打败拖延症的
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
10个调试和排错的小建议
10个调试和排错的小建议
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
漫画:程序员的工作
漫画:程序员的工作
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
中美印日四国程序员比较
中美印日四国程序员比较
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
程序员都该阅读的书
程序员都该阅读的书
每天工作4小时的程序员
每天工作4小时的程序员
程序员应该关注的一些事儿
程序员应该关注的一些事儿
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
总结2014中国互联网十大段子
总结2014中国互联网十大段子
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有