MySQL の IF ELSE
このチュートリアルでは、MySQL で IF ELSE ステートメントを使用する方法を探ることを目的としています。
データアナリストの重要な役割の 1つは、データから洞察を収集し、意味のある結果を生成することです。これは、いくつかのデータフィルタリングおよび視覚化技術の助けを借りて行うことができます。
それらの 1つは、IF ELSE ステートメントです。IF ELSE ステートメントは、その名前が示すように、MySQL データベース内の特定のテーブルのデータをフィルタリングするのに役立ちます。
これらのフィルタリング条件は、ステートメントの IF ブロックで設定されます。テーブルに入力されたデータが特定の条件を満たさない場合、ELSE ブロックが実行されます。
たとえば、従業員の詳細を含む従業員テーブルで、給与に基づいて従業員をフィルタリングする場合は、MySQL の IF ELSE 句を使用できます。この方法がどのように機能するかを理解しましょう。
始める前に、数行の student_details テーブルを作成して、ダミーのデータセットを作成しましょう。
-- create the table student_details
CREATE TABLE student_details(
stu_id int,
stu_firstName varchar(255) DEFAULT NULL,
stu_lastName varchar(255) DEFAULT NULL,
primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName)
VALUES(1,"Preet","Sanghavi"),
(2,"Rich","John"),
(3,"Veron","Brow"),
(4,"Geo","Jos"),
(5,"Hash","Shah"),
(6,"Sachin","Parker"),
(7,"David","Miller");
データのエントリを表示するには、次のコードを使用します。
SELECT * FROM student_details;
出力:
stu_id stu_firstName stu_lastName
1 Preet Sanghavi
2 Rich John
3 Veron Brow
4 Geo Jos
5 Hash Shah
6 Sachin Parker
7 David Miller
MySQL の IF ELSE ステートメント
IF ELSE テクニックの基本的な構文は次のとおりです。
select column_name,
(
CASE
WHEN <condition> THEN <operation>
ELSE 1
END)
from table_x;
前述のクエリに見られるように、ELSE 句とともに case ステートメントを使用します。これは、MySQL で IF ELSE ステートメントが実行される方法です。
stu_id が 3 より大きい場合は、名ではなく学生の名前のみが出力されるようにして、student_details テーブルからデータをフィルタリングしましょう。それ以外の場合、stu_id が 3 以下の場合は名を出力します。
これは、次のクエリを使用して実現できます。
select stu_id,
(
CASE
WHEN stu_id <= 3 THEN stu_firstName
ELSE stu_lastName
END) AS filtered_data
from student_details;
出力:
stu_id filtered_data
1 Preet
2 Rich
3 Veron
4 Jos
5 Shah
6 Parker
7 Miller
filtered_data と AS キーワードを使用しています。CASE ELSE 手法の代わりに、ストアドプロシージャがあります。ストアドプロシージャは IF ELSE ブロックを使用して作成できますが、この方法は非常に非効率的であり、case は上記のようなユースケースで最適に機能します。
したがって、case ステートメントを使用すると、他のプログラミング言語の IF ELSE ステートメントに期待される機能を効率的に実装して、MySQL のデータをフィルタリングできます。
