【MySQL】値が等しい・等しくないことを比較するためのソースコードとコマンド手順

この記事は約9分で読めます。
ポートフォリオ制作実績

【MySQL】値が等しい・等しくないことを比較するためのソースコードとコマンド手順について、比較演算子を使って解説します。

表を比較する場合はあらかじめ、

【MySQL】表(テーブル)を作成!A table must have at least 1 column
表(テーブル)の列(縦)のことをフィールドまたはカラム、行(横)のことをレコードといいます。 ここで、以下のようなエラーメッセージが出て躓くような方もいるでしょう。 ERROR 1064 (42000): You have an e...

 

上記のサイトで作成しておきましょう。

「=」「!=」「<>」「<=」「>=」などの向きに注意しましょう。

スポンサーリンク

【MySQL】値が等しい・等しくないことを比較するためのソースコードとコマンド手順

MySQLhは、等しい場合Trueは1、等しくない場合Falseは0で返します。表の項目ごとに比較することも可能です。

等しい場合

等しい場合は、「=」「<=>」を使ってプログラミングします。

mysql> select 2 = 2;
+-------+
| 2 = 2 |
+-------+
| 1 |
+-------+
1 row in set (0.00 sec)

mysql> select 2 = 3;
+-------+
| 2 = 3 |
+-------+
| 0 |
+-------+
1 row in set (0.00 sec)

等しくない場合

等しくない場合は、「!=」「<>」を使ってプログラミングします。

mysql> select 2 != 2;
+--------+
| 2 != 2 |
+--------+
| 0 |
+--------+
1 row in set (0.00 sec)

mysql> select 2 != 3;
+--------+
| 2 != 3 |
+--------+
| 1 |
+--------+
1 row in set (0.00 sec)

 

スポンサーリンク

表同士を比較する場合のソースコードとコマンド手順

こちらのサイトで表の行の中身まで作成したら、以下のソースコードを試してテストしてみましょう。

【MySQL】表の行(レコード)を作るためのソースコードとコマンド手順
行のことをMySQLではレコードといいます。レコードを作成するためには、以下の命令文をコマンドしてください。 insert into (追加するフィールド)values(追加するレコード); それでは実際に行を作成してみます。...

 

mysql> select * from hyou1 where shomikigen <> '2020-10-09';
+-----------------+-----------+-------+------------+
| food            | sanchi    | price | shomikigen |
+-----------------+-----------+-------+------------+
| さくらんぼ      | 山形県    | 10000 | 2020-10-10 |
+-----------------+-----------+-------+------------+
1 row in set (0.00 sec)

mysql> select * from hyou1 where shomikigen != '2020-10-09';
+-----------------+-----------+-------+------------+
| food            | sanchi    | price | shomikigen |
+-----------------+-----------+-------+------------+
| さくらんぼ      | 山形県    | 10000 | 2020-10-10 |
+-----------------+-----------+-------+------------+
1 row in set (0.00 sec)


mysql> select * from hyou1 where price > 2000;
+-----------------+-----------+-------+------------+
| food            | sanchi    | price | shomikigen |
+-----------------+-----------+-------+------------+
| お米            | 新潟県    |  3900 | 2020-10-09 |
| さくらんぼ      | 山形県    | 10000 | 2020-10-10 |
+-----------------+-----------+-------+------------+
2 rows in set (0.00 sec)

mysql> select * from hyou1 where price >= 2000;
+-----------------+-----------+-------+------------+
| food            | sanchi    | price | shomikigen |
+-----------------+-----------+-------+------------+
| お米            | 新潟県    |  3900 | 2020-10-09 |
| さくらんぼ      | 山形県    | 10000 | 2020-10-10 |
| ラフランス      | 山形県    |  2000 | 2020-10-09 |
+-----------------+-----------+-------+------------+
3 rows in set (0.00 sec)

mysql> select * from hyou1 where price < 2000;
+-----------+-----------+-------+------------+
| food      | sanchi    | price | shomikigen |
+-----------+-----------+-------+------------+
| みかん    | 愛媛県    |   200 | 2020-10-09 |
+-----------+-----------+-------+------------+
1 row in set (0.00 sec)

mysql> select * from hyou1 where price <= 2000;
+-----------------+-----------+-------+------------+
| food            | sanchi    | price | shomikigen |
+-----------------+-----------+-------+------------+
| みかん          | 愛媛県    |   200 | 2020-10-09 |
| ラフランス      | 山形県    |  2000 | 2020-10-09 |
+-----------------+-----------+-------+------------+
2 rows in set (0.00 sec)

mysql> select * from hyou1 where shomikigen between '2020-09-09' and '2020-10-09';

+-----------------+-----------+-------+------------+
| food            | sanchi    | price | shomikigen |
+-----------------+-----------+-------+------------+
| お米            | 新潟県    |  3900 | 2020-10-09 |
| みかん          | 愛媛県    |   200 | 2020-10-09 |
| ラフランス      | 山形県    |  2000 | 2020-10-09 |
+-----------------+-----------+-------+------------+
3 rows in set (0.00 sec)

mysql> select * from hyou1 where price between 5000 and 1000;
Empty set (0.01 sec)

mysql> select * from hyou1 where price between 1000 and 5000;
+-----------------+-----------+-------+------------+
| food            | sanchi    | price | shomikigen |
+-----------------+-----------+-------+------------+
| お米            | 新潟県    |  3900 | 2020-10-09 |
| ラフランス      | 山形県    |  2000 | 2020-10-09 |
+-----------------+-----------+-------+------------+
2 rows in set (0.00 sec)

mysql> select * from hyou1 where price not between 1000 and 5000;
+-----------------+-----------+-------+------------+
| food            | sanchi    | price | shomikigen |
+-----------------+-----------+-------+------------+
| みかん          | 愛媛県    |   200 | 2020-10-09 |
| さくらんぼ      | 山形県    | 10000 | 2020-10-10 |
+-----------------+-----------+-------+------------+
2 rows in set (0.00 sec)

mysql> select food, sanchi from hyou1 where price in (200,2000);
+-----------------+-----------+
| food            | sanchi    |
+-----------------+-----------+
| みかん          | 愛媛県    |
| ラフランス      | 山形県    |
+-----------------+-----------+
2 rows in set (0.00 sec)

mysql> select shomikigen from hyou1 where food in ('みかん','ラフランス');
+------------+
| shomikigen |
+------------+
| 2020-10-09 |
| 2020-10-09 |
+------------+
2 rows in set (0.00 sec)

mysql> select sanchi,price,shomikigen from hyou1 where food is null;
Empty set (0.00 sec)

 

is nullを使うと列(フィールド)の中身が空のものを取り出します。空の項目はないので「Empty set 」と表示されます。

select name,shomikigen from food where shomikigen != ‘2020-10-09’;

nullでないことを確認するためには、is not nullを使います。

 

 

 

タイトルとURLをコピーしました