7.MySQL入門 条件

ここではMySQLでの条件付のデータの表示ついて解説していきます。

mysql

tb1

id name age
1 田中 27
2 山田 28
3 佐藤 29
4 NULL 30

今回はこのテーブルを例として解説していきます。

比較演算子を使った抽出

SELECT *
FROM tb1
WHERE id < 2;

実行結果

id name age
1 田中 27

書式
SELECT カラム名 FROM テーブル名 WHERE 条件式;

「ELECT * FROM テーブル名」の後に「WHERE」をつけることで条件を使ったデータの抽出ができるようになります。

比較演算子まとめ

= 等しい
> より大きい
>= 以上
< より小さい
<= 以下
<> 等しくない
!= 等しくない

AND比較演算子を使った抽出

SELECT *
FROM tb1
WHERE id < 3 AND id > 1; 

実行結果

id name age
2 山田 28

「WHERE」句の条件を「AND」でつなげると左の条件式と右の条件式に当てはまる物のみ抽出されます。

OR比較演算子を使った抽出

SELECT *
FROM tb1
WHERE id = 3 OR name = '田中'; 

実行結果

id name age
1 田中 27
3 佐藤 29

「WHERE」句の条件を「OR」でつなげると左の条件式と右の条件式に当てはまる物のみ抽出されます。

「AND」と「OR」を両方使う場合、「AND」を優先して比較します。
なので優先的に比較したいものは「()」括弧で囲み定義してください。

IN比較演算子を使った抽出

SELECT *
FROM tb1
WHERE id IN (1, 3); 

実行結果

id name age
1 田中 27
3 佐藤 29

書式
SELECT カラム名 FROM テーブル名 WHERE カラム名 IN (データ1, データ2, ・・・);

「IN」演算子を使う場合カラム名を指定して括弧内に当てはまるデータを「,」で区切り記述します。
「NOT IN ();」とすることで括弧内にないデータを抽出することもできます。

BETWEEN比較演算子を使った抽出

SELECT *
FROM tb1
WHERE id BETWEEN 1 AND 2; 

実行結果

id name age
1 田中 27
2 山田 28

書式
SELECT カラム名 FROM テーブル名 WHERE カラム名 BETWEEN 数値1 AND 数値2;

「BETWEEN」演算子を使う場合カラム名を指定して「AND」で数値の幅を指定します。
数値1以上、数値2以下のデータを抽出することができます。

「NOT BETWEEN」を使用すると数値1未満、数値2を超えるものが抽出されます。

NULLを使った条件

SELECT *
FROM tb1
WHERE name IS NULL; 

実行結果

id name age
4 NULL 30

書式
SELECT カラム名 FROM テーブル名 WHERE カラム名 IS NULL;

データが「NULL」のものを抽出する場合「IS NULL」を使用します。
逆に「NULL」以外のものを抽出する場合「IS NOT NULL」を使用します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください