子查詢在SELECT、UPDATE、DELETE語句內(nèi)部可以出現(xiàn)SELECT語句。內(nèi)部SELECT語句結(jié)果作為外部語句查詢條件。子查詢可以分為單行子查詢、多行子查詢。
注意:
如果內(nèi)部查詢不返回任何記錄,則外部的條件永遠為假,外部查詢也不返回任何結(jié)果。
在單行子查詢中,外部查詢可以使用=、>、<、<=、>=、<>等比較運算符。
內(nèi)部查詢返回的結(jié)果必須與外部查詢條件中的字段匹配。
如果內(nèi)部查詢返回多行結(jié)果則出現(xiàn)錯誤。
ANY子查詢 ?ANY放在比較運算符后面,表示“任意一個”的意思。
< ANY:比子查詢結(jié)果中任意的值都要小。
ORACLE 中的偽列
在ORACLE表示用的過程中,實際上還有一些附加列,稱為偽列。位列就像表中的列一樣,但是在表中并不存在,偽列只能查詢,不能進行修改,常用的偽列包括:ROWID、ROWNUM。
ROWID ? 返回表中每一行都有的一個物理地址。
ROWNUM 在查詢的結(jié)果集中,ROWNUM為結(jié)果集中每一行標(biāo)識一個行號。通過ROENUM偽列可以限制查詢結(jié)果集中返回的行數(shù)。
可以利用ROWNUM進行分頁查詢