读书人

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

发布时间: 2012-02-28 13:06:35 作者: rapoo

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='刘晨'
);



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

读书人网 >其他数据库

热点推荐