ホームページ >データベース >mysql チュートリアル >SQL 句の正確な実行順序は何ですか: FROM、WHERE、ORDER BY、TOP?

SQL 句の正確な実行順序は何ですか: FROM、WHERE、ORDER BY、TOP?

DDD
DDDオリジナル
2025-01-03 16:58:37877ブラウズ

What's the Exact Execution Order of SQL Clauses: FROM, WHERE, ORDER BY, and TOP?

SQL ステートメントの実行順序

SQL ステートメントを実行する場合、その句の実行順序が重要です。 TOP 句、WHERE 句、ORDER BY 句を組み合わせたステートメントの実行順序を調べてみましょう。

SELECT TOP 5 C.CustomerID,C.CustomerName,C.CustomerSalary
FROM Customer C
WHERE C.CustomerSalary > 10000
ORDER BY C.CustomerSalary DESC

SELECT ステートメントのドキュメントによると、論理的な処理順序は次のとおりです。

  1. 出身
  2. どこ
  3. グループBY
  4. HAVING
  5. SELECT
  6. DISTINCT
  7. ORDER BY
  8. TOP

ただし、重要です実際の物理的な実行順序はクエリによって異なる場合があることに注意してください。プロセッサ。

説明:

  • FROM (Customer C): まず、データベース エンジンは Customer テーブルを識別してアクセスします。
  • WHERE (C.CustomerSalary > 10000): 次に、エンジンはフィルター条件を適用し、CustomerSalary が 10000 を超える行のみを選択します。
  • ORDER BY (C.CustomerSalary DESC): フィルターされたデータを取得した後、結果は降順で並べ替えられます。 CustomerSalary.
  • TOP 5: 最後に、TOP 句は、ORDER BY 句で指定されているように、上位 5 つに返される行数を制限します。

したがって、実行順序は論理シーケンスに従い、WHERE 句に基づいてデータをフィルタリングし、ORDER BY 句で指定されたとおりに並べ替えます。最後に TOP 句で制限された上位の結果を取得します。

以上がSQL 句の正確な実行順序は何ですか: FROM、WHERE、ORDER BY、TOP?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。