MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでNULL値を除外して残りの値だけを表示する方法

MySQLでは、IS NOT NULL演算子を使うことで、NULL値を除外し、実際に値が存在するレコードだけを取得・表示できます。本記事では、サンプルテーブルを作成しながら、具体的な手順をわかりやすく解説します。

1. テーブルを作成する

まず、学生名とスコアを格納するテーブルを作成します。

mysql> create table DemoTable1458
    -> (
    -> StudentName varchar(20),
    -> StudentScore int
    -> );
Query OK, 0 rows affected (0.52 sec)

2. レコードを挿入する

続いて、INSERTコマンドでいくつかのレコードを追加します。ここでは、意図的にNULL値を含むデータも挿入しています。

mysql> insert into DemoTable1458 values('Chris Brown',56);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1458 values('David Miller',NULL);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable1458 values('John Doe',78);
Query OK, 1 row affected (0.08 sec)
mysql> insert into DemoTable1458 values('Adam Smith',NULL);
Query OK, 1 row affected (0.12 sec)

3. 全レコードを確認する

SELECT文を実行して、テーブル内のすべてのレコードを表示してみましょう。

mysql> select * from DemoTable1458;

実行結果は以下のとおりです。StudentScore列にNULL値が含まれていることが確認できます。

+--------------+--------------+
| StudentName  | StudentScore |
+--------------+--------------+
| Chris Brown  |           56 |
| David Miller |         NULL |
| John Doe     |           78 |
| Adam Smith   |         NULL |
+--------------+--------------+
4 rows in set (0.00 sec)

4. IS NOT NULLでNULL値を除外する

NULL値を無視して、スコアが登録されているレコードのみを表示するには、WHERE句でIS NOT NULLを指定します。

mysql> select StudentName,StudentScore from DemoTable1458
    -> where StudentScore IS NOT NULL;

実行結果は以下のとおりです。NULL値の行が除外され、値を持つレコードだけが表示されました。

+-------------+--------------+
| StudentName | StudentScore |
+-------------+--------------+
| Chris Brown |           56 |
| John Doe    |           78 |
+-------------+--------------+
2 rows in set (0.00 sec)

ポイントまとめ

  • NULL値は「=」や「!=」では正しく比較できないため、必ずIS NOT NULL(またはIS NULL)を使用します。
  • WHERE句に条件を追加することで、NULLを含む行を簡単にフィルタリングできます。
  • 逆にNULL値だけを抽出したい場合は、「IS NULL」を使います。

  1. 【MySQL入門】NULL値に応じて新しい列にカスタムテキストを表示する方法

    MySQLでは、IF()関数を活用することで、カラムの値がNULLかどうかを判定し、その結果に応じて新しい列に任意のカスタムテキストを表示できます。本記事では、実際のサンプルコードとともにその手順をわかりやすく解説します。1. サンプルテーブルを作成するまず、学生名を格納するシンプルなテーブルを作成しましょう。mysql> create table DemoTable1953 ( StudentName varchar(20) ); Query OK, 0 rows affected (0.00 sec)2. テストデータを挿入する次に、INSERT文を使ってレコ

  2. MySQLでNULL値を1として表示・更新する方法

    MySQLでは、テーブル内のNULL値を別の値(たとえば「1」)に置き換えて扱いたい場面があります。この記事では、IFNULL関数とUPDATE文を組み合わせて、NULL値を1に変換する具体的な手順をサンプルコード付きで解説します。 1. サンプルテーブルを作成する まず、動作確認用のテーブルを作成します。 mysql> create table DemoTable1963 ( Counter int ); Query OK, 0 rows affected (0.00 sec) 2. レコードを挿入する INSERT文を使って、NULLを含む複数のレコードを