SQL SELECT文を使用したデータの取得、制限およびソート8 / 50 問

以下のSQL文で、何行のデータが返されますか。

SELECT employee_id, salary FROM employees;

EMPLOYEE_ID  SALARY
------------ -------
100          5000
101          4000
102          3000
103          3000
104          2000

SELECT employee_id, salary
FROM employees
ORDER BY salary DESC
FETCH FIRST 3 ROWS ONLY;
A2行
B3行✓
C4行
Dエラーになる
正解:B解説

FETCH FIRST <N> ROWS ONLYは、ORDER BY句で並べた結果の先頭からN行を返します。
3行目と4行目は給与がどちらも3000ですが、ONLYでは同一値の行があっても追加されないため、3行だけが返されます。

SELECT employee_id, salary
FROM employees
ORDER BY salary DESC
FETCH FIRST 3 ROWS ONLY;

EMPLOYEE_ID  SALARY
------------ -------
100          5000
101          4000
102          3000

ONLYとWITH TIESの違い

指定返される行
FETCH FIRST <N> ROWS ONLYN行
FETCH FIRST <N> ROWS WITH TIESN行+N行目と同一値の行

前後の問題