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。
这样得出来的结果有什么不同吗

解决方案 »

  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 里的第一条信息
      

  2.   

    因为V$MYSTAT保存的是你自己当前的Session的信息,你可以看一下,该视图中的SID只有一个。
    而v$session里保存的是当前所有连接到数据库的Session的信息。