我對Corelated子查詢簡單的問題:甲骨文都在SUBQUERY
表和數據如下:
CREATE TABLE AUTHORS
(
NAME VARCHAR2(10 BYTE)
);
Insert into AUTHORS Values ('john');
Insert into AUTHORS Values ('bill');
Insert into AUTHORS Values ('dave');
CREATE TABLE BOOKS
(
NAME VARCHAR2(10 BYTE),
PRICE INTEGER
);
Insert into BOOKS Values ('john', 101);
Insert into BOOKS Values ('john', 200);
Insert into BOOKS Values ('john', 300);
insert into books values ('bill', 200);
Insert into BOOKS Values ('bill', 10);
Insert into BOOKS Values ('dave', 5);
COMMIT;
問題:這裏「約翰」有價> 100的所有書籍。
但是當我使用下面的查詢,只返回一行:
select * from
authors a
where 100 < all(select price from books b where a.nAME = b.NAME);
約翰在作者表中只有1條記錄是你的1行你得到 – Rams
只有'JOHN'包含所有價格> = 100的bocks,那麼只有'JOHN'被外部查詢/操作符'100對於John而言, 100 < ALL(5)'也是錯誤的,因爲100不小於5.你認爲查詢應該返回什麼? –
krokodilko
@ krokodilko - 是的,在作者表中只有所有書籍超過100的記錄。我似乎錯過了它。 – oradbanj