当前位置: 代码迷 >> 其他数据库 >> exists 与 where的执行过程,该怎么处理
  详细解决方案

exists 与 where的执行过程,该怎么处理

热度:2729   发布时间:2013-02-26 00:00:00.0
exists 与 where的执行过程
SELECT Sno,Sname,Sdept
 FROM Student S1
 WHERE EXISTS
 (SELECT *
 FROM Student S2
 WHERE S2.Sdept=S1.Sdept AND
 S2.Sname='刘晨');

这2张表执行的全过程是怎样的?每个表是怎样先后调用?


------解决方案--------------------------------------------------------
当s1的一个元组定下来之后, 比如
S1
| 200215123 | 王敏 | 女 | 18 | MA |

则 (SELECT * 
FROM Student S2
WHERE S2.Sdept=S1.Sdept AND
S2.Sname='刘晨'
); 

等同于

(SELECT * 
FROM Student S2
WHERE S2.Sdept='MA' AND
S2.Sname='刘晨'
);



引用那跟问题“查询与刘晨在同一个系学习的学生”不是矛盾了吗
  相关解决方案