SELECT OWNERID
FROM ANTIQUES
WHERE PRICE > (SELECT AVG(PRICE) + 100 FROM ANTIQUES);
DISTINCT 去除重複買家SELECT OWNERLASTNAME
FROM ANTIQUEOWNERS
WHERE OWNERID = (SELECT DISTINCT BUYERID FROM ANTIQUES);
= 會報錯,應改用 IN修正版:
SELECT OWNERLASTNAME
FROM ANTIQUEOWNERS
WHERE OWNERID IN (SELECT DISTINCT BUYERID FROM ANTIQUES);
UPDATE ANTIQUEOWNERS
SET OWNERFIRSTNAME = 'John'
WHERE OWNERID = (
SELECT BUYERID FROM ANTIQUES WHERE ITEM = 'Bookcase'
);
| 類型 | 特徵 | 回傳 | 適用運算子 |
|---|---|---|---|
| 純量子查詢 | 單值 | 1 列 1 欄 | =, <>, >, <... |
| 列子查詢 | 多值單欄 | N 列 1 欄 | IN, NOT IN, ANY, ALL |
| 表子查詢 | 多值多欄 | N 列 M 欄 | EXISTS, NOT EXISTS |
| 相關子查詢 | 參考外層欄位 | 視情況 | 上述皆可 |
IN/NOT IN/ANY/ALLEXISTS(效能較佳)JOIN 或 CTE 以利最佳化