ホームページ >データベース >mysql チュートリアル >SQL SELECT ステートメントに IF-THEN ロジックを実装するにはどうすればよいですか?

SQL SELECT ステートメントに IF-THEN ロジックを実装するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-22 15:27:09488ブラウズ

How Can I Implement IF-THEN Logic in SQL SELECT Statements?

SQL SELECT ステートメントに IF-THEN ロジックを実装する

SQL プログラミングにおける一般的なニーズは、条件チェックを実行し、その結果に基づいて異なる結果を返すことです。この記事では、SQL SELECT ステートメントに IF...THEN ロジックを実装する方法を説明します。

CASE ステートメントを使用します

CASE ステートメントは SQL の IF ステートメントに相当します。複数の条件と対応するアクションを指定できます。

<code class="language-sql">SELECT CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ELSE result3
END AS conditional_column, *
FROM table_name</code>

たとえば、Obsolete と InStock の値に基づいて製品が販売可能かどうかを確認するには:

<code class="language-sql">SELECT CAST(
    CASE
        WHEN Obsolete = 'N' OR InStock = 'Y'
        THEN 1
        ELSE 0
    END AS bit) AS Saleable, *
FROM Product</code>

IIF ステートメントを使用する (SQL Server 2012 以降)

SQL Server 2012 で導入された IIF ステートメントは、条件ステートメントの構文を簡素化します。その形式は次のとおりです:

<code class="language-sql">SELECT IIF(condition, result_if_true, result_if_false) AS conditional_column, *
FROM table_name</code>

上記の例は、IIF ステートメントを使用して次のように書き直すことができます。

<code class="language-sql">SELECT IIF(Obsolete = 'N' OR InStock = 'Y', 1, 0) AS Saleable, *
FROM Product</code>

その他の指示

  • CASE ステートメントをネストして、より複雑な条件を処理できます。
  • CAST 演算子を使用して、結果をブール値などの特定のデータ型に変換できます。
  • ネストされた CASE ステートメントと IIF ステートメントは、集計関数に含めることができます。

以上がSQL SELECT ステートメントに IF-THEN ロジックを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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