ホームページ > データベース > mysql チュートリアル > CASE 式を使用して MySQL クエリに IF-ELSE ロジックを実装するにはどうすればよいですか?

CASE 式を使用して MySQL クエリに IF-ELSE ロジックを実装するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-19 06:26:08
オリジナル
141 人が閲覧しました

How to Implement IF-ELSE Logic in MySQL Queries Using CASE Expressions?

MySQL 条件付きクエリ: CASE 式の使用

SQL クエリを使用する場合、多くの場合、特定の条件に基づいて条件付きの決定を行う必要があります。 MySQL では、これは CASE 式を使用して実現できます。これは、条件を評価し、結果に基づいてさまざまな値を返す構造化された方法を提供します。

MySQL の IF ELSE ステートメント

MySQL クエリ内で IF ELSE ステートメントを実装する方法に関して疑問が生じます。クエリ ステートメント内の IF アクションで mysql_query() 関数を使用することは、適切なアプローチではありません。

CASE 式

代わりに、MySQL は CASE 式を利用して条件ステートメントを処理します。これらは特定の構文に従います:

CASE
  WHEN condition1 THEN value1
  WHEN condition2 THEN value2
  ...
  ELSE default_value
END
ログイン後にコピー

各 WHEN 句は、true の場合に対応する値を返す条件を表します。どの条件も満たされない場合、ELSE 句はデフォルト値を提供します。

質問に示されている例を考えてみましょう:

SELECT col1, col2,
  (
    CASE
      WHEN (action = 2 AND state = 0) THEN 1
      ELSE 0
    END
  ) AS state
FROM tbl1;
ログイン後にコピー

このクエリでは、CASE 式を使用して state という名前の新しい列を計算します。アクションが 2 に等しく、状態が 0 に等しい場合、結果は 1 です。それ以外の場合は、0 を返します。

このクエリの結果には、row['state'] 構文を使用してアクセスできます。質問で示唆されているように。ただし、CASE 式は結果セット内の新しい状態列に値を割り当てるだけであることに注意することが重要です。データベーステーブルは直接変更されません。

以上がCASE 式を使用して MySQL クエリに IF-ELSE ロジックを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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