日期:2014-05-17  浏览次数:20782 次

求高手解析下面的语句
SELECT SID, SERIAL#, CLIENT_IDENTIFIER FROM V$SESSION
 WHERE SID IN 
(SELECT SID FROM V$MYSTAT WHERE ROWNUM = 1);

为什么不能这样写:SELECT SID, SERIAL#, CLIENT_IDENTIFIER FROM V$SESSION WHERE ROWNUM = 1。
这样得出来的结果有什么不同吗

------解决方案--------------------
当然不同了
SELECT SID, SERIAL#, CLIENT_IDENTIFIER FROM V$SESSION
 WHERE SID IN
(SELECT SID FROM V$MYSTAT WHERE ROWNUM = 1)
V$SESSION中SID等于V$MYSTAT里第一条信息中SID的值 
SELECT SID, SERIAL#, CLIENT_IDENTIFIER FROM V$SESSION WHERE ROWNUM = 1
只是V$SESSION 里的第一条信息
------解决方案--------------------
探讨
SELECT SID, SERIAL#, CLIENT_IDENTIFIER FROM V$SESSION
WHERE SID IN
(SELECT SID FROM V$MYSTAT WHERE ROWNUM = 1);
为什么不能这样写:SELECT SID, SERIAL#, CLIENT_IDENTIFIER FROM V$SESSION WHERE ROWNUM = 1。
……