メインコンテンツにスキップ
モジュール 2 · レッスン 1 / 4コース内の 5/57~6 min
モジュールのレッスン (1/4)

LIMITによる制限

クエリは簡単に数千 (または数百万) の行を返すことができます。あなただけのとき プレビューが必要な場合、またはトップNランキングを構築したい場合は、次のように使用します。 LIMIT 句:

SQL
SELECT <colonne>
FROM   <tabella>
[WHERE  <condizione>]
[ORDER BY <colonna> [ASC|DESC]]
LIMIT  <numero>;

LIMIT はクエリの 最後 に移動し、結果を切り捨てます。 指定された行数。それだけではランキングを構築するには十分ではありません。 ORDER BY、SQL では、どの行が返されるかは保証されません。それでゴールデン ルールは次のとおりです:

上位 N = ORDER BY + LIMIT。

例

SQL
-- Le prime 5 righe della tabella, in ordine arbitrario:
SELECT * FROM employees LIMIT 5;

-- I 3 dipendenti più pagati:
SELECT first_name, last_name, salary
FROM employees
ORDER BY salary DESC
LIMIT 3;

-- I 5 progetti con il budget più basso:
SELECT name, budget
FROM projects
ORDER BY budget ASC
LIMIT 5;

試してみてください

運動#sql.m2.l1.e1
試行回数: 0読み込み中…

最も給与の高い 3 人の従業員の姓 (last_name) と給与 (salal) を、最も給与の高い従業員から最も低い従業員の順に表示します。

エディターを読み込み中…
ヒントを表示

ランキングには ORDER BY 給与 DESC が必要で、上位 3 位で停止するには LIMIT 3 が必要です。

3 回の試行後に解決策が利用可能になります

復習演習

運動#sql.m2.l1.e2
試行回数: 0読み込み中…

最も給与の高い 2 人の従業員をスキップし、その直後の 3 人を表示します (給与ランキングの 3 位、4 位、5 位)。 LIMIT の後に OFFSET を使用します。

エディターを読み込み中…
ヒントを表示

OFFSET 2 は最初の 2 行をスキップし、LIMIT 3 は次の 3 行を取得します。

3 回の試行後に解決策が利用可能になります