ホームページ > データベース > mysql チュートリアル > SQL CASE 式は異なるデータベース システム間でどのように機能しますか?

SQL CASE 式は異なるデータベース システム間でどのように機能しますか?

DDD
リリース: 2025-01-11 06:45:41
オリジナル
287 人が閲覧しました

How Does the SQL CASE Expression Work Across Different Database Systems?

SQL CASE 式の完全な構文

SQL CASE 式は複雑なクエリを処理するように設計されており、複数の条件を評価し、満たされる条件に基づいて特定の値を返すことができます。その構文はデータベース エンジンによって異なります。

SQL サーバー

SQL Server の CASE 式の一般的な構文は次のとおりです:

<code class="language-sql">CASE case-expression
    WHEN when-expression-1 THEN value-1
  [ WHEN when-expression-n THEN value-n ... ]
  [ ELSE else-value ]
END</code>
ログイン後にコピー

オラクル

Oracle の CASE 式構文は、少し異なるアプローチを採用しています。

<code class="language-sql">CASE
    WHEN boolean-when-expression-1 THEN value-1
  [ WHEN boolean-when-expression-n THEN value-n ... ]
  [ ELSE else-value ]
END</code>
ログイン後にコピー

CASE 式の構成要素

  • case-expression: when-expression に対して評価する値。
  • when-expression: case-expression と比較する式。
  • value: 対応する when 式が case 式と一致する場合の CASE ステートメントの結果。
  • boolean-when-expression: 対応する値を返すかどうかを決定するブール式。
  • else-value: when-expression が case-expression に一致しない場合に返される値。

実行セマンティクス

CASE 式は、各 when 式を順番に評価します。一致するものが見つかると、対応する値が返されます。一致するものが見つからない場合は、else-value があればそれを返します。最初に一致した式が優先されるため、when 式の順序が重要であることに注意してください。

次のクエリを考えてみましょう:

<code class="language-sql">SELECT CASE student_age
    WHEN 18 THEN 'Teenager'
    WHEN 21 THEN 'Adult'
    ELSE 'Minor'
END AS age_category
FROM students;</code>
ログイン後にコピー

このクエリは、生徒の年齢に基づいて年齢カテゴリを割り当てます。生徒が 18 歳の場合は「ティーンエイジャー」、21 歳の場合は「成人」、18 歳未満の場合、または一致が見つからない場合は「未成年」です。

以上がSQL CASE 式は異なるデータベース システム間でどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート