ホームページ >データベース >mysql チュートリアル >NULL 値について SQL の NULL 値について: 欠損データの管理

NULL 値について SQL の NULL 値について: 欠損データの管理

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-20 15:03:14476ブラウズ

Understanding NULL Values Understanding NULL Values in SQL: Managing Missing Data

SQL の NULL 値とは何ですか?

SQL では、NULL 値 はデータベース列の欠落値または未定義の値を表します。これは、ゼロ、空の文字列、またはその他のデフォルト値と同じではありません。代わりに、NULL は、値が不明、使用できない、または適用できないことを示すために使用されるプレースホルダーです。


NULL 値の主な特徴

  1. 値がありません:

    NULL は「値がない」または「不明な値」を意味します。

    例: 顧客の電話番号が記録されていない場合、電話番号の列は NULL になる可能性があります。

  2. 比較できません:

    通常の比較演算子 (=、!=) を使用して NULL 値を比較することはできません。代わりに、SQL は IS NULL や IS NOT NULL などの特別な関数を提供します。

  3. ゼロまたは空ではありません:

    NULL は、0 または空の文字列 ('') とは異なります。

    例: 価格列では、0 は無料のアイテムを示し、NULL は価格が不明であることを示します。

  4. 集計に影響します:

    SUM、AVG、COUNT などの集計関数は、明示的に処理されない限り NULL 値を無視します。


NULL 値の操作

NULL をチェックする:

  • IS NULL または IS NOT NULL 演算子を使用します。
SELECT * FROM employees WHERE phone IS NULL;
  • 電話列が NULL であるすべての行を取得します。

NULL の挿入:

  • 列に NULL 値を挿入するには:
INSERT INTO employees (id, name, phone) VALUES (1, 'Alice', NULL);

集計での NULL の処理:

  • NULL が発生した場合は、COALESCE を使用してデフォルト値を提供します。
SELECT name, COALESCE(phone, 'No Phone') AS phone_display FROM employees;
  • これにより、NULL が「電話なし」に置き換えられます。

NULL の使用例

テーブルの例:

ID Name Phone
1 Alice 1234567890
2 Bob NULL
3 Charlie 9876543210

クエリの例:

  • NULL 値を含む行を検索:
SELECT * FROM employees WHERE phone IS NULL;

結果:
| ID |名前 |電話 |
|------|--------|------|
| 2 |ボブ | NULL |

  • NULL 値を除外:
INSERT INTO employees (id, name, phone) VALUES (1, 'Alice', NULL);

結果:
| ID |名前 |電話 |
|------|--------|---------------|
| 1 |アリス | 1234567890 |
| 3 |チャーリー | 9876543210 |


関数と NULL

  1. は NULL です / は NULL ではありません:

    NULLの有無を確認します。

  2. 合体:

    最初の非 NULL 値を返します。

SELECT name, COALESCE(phone, 'No Phone') AS phone_display FROM employees;
  1. IFNULL (MySQL): NULL をデフォルト値に置き換えます。
  SELECT * FROM employees WHERE phone IS NULL;

NULL 値が重要なのはなぜですか?

  1. データの完全性:

    NULL を使用すると、一部のデータがまだ利用できない場合に柔軟に対応できます。

  2. 論理表現:

    「欠落している」値と「明示的に設定された」値を区別します (例: NULL と 0.

  3. )
  4. 現実世界のシナリオ:

    データがオプションであるか、保留中の注文の出荷日など、一時的に不明なケースを処理します。


NULL の一般的な落とし穴

  • 間違った比較:

    = NULL または != NULL は避けてください。代わりに IS NULL または IS NOT NULL を使用してください。

  • 予期しない結果:

    NULL 値は、条件または結合で予期しない結果を引き起こす可能性があります。

    例: JOIN 条件内の NULL 値を処理しないと、行が失われる可能性があります。

  • 集計の問題:

    NULL 値が意図せず無視されると、SUM または COUNT は誤解を招く結果をもたらす可能性があります。


結論

SQL における NULL は、欠損値または未定義の値を表すための基本的な概念です。 NULL を適切に処理すると、正確なクエリと信頼性の高いデータベース動作が保証されます。比較には常に注意し、COALESCE や IS NULL などのツールを使用して NULL 値を効果的に管理してください。

こんにちは、アバイ・シン・カタヤットです!
私はフロントエンドとバックエンドの両方のテクノロジーの専門知識を持つフルスタック開発者です。私はさまざまなプログラミング言語やフレームワークを使用して、効率的でスケーラブルでユーザーフレンドリーなアプリケーションを構築しています。
ビジネス用メールアドレス kaashshorts28@gmail.com までお気軽にご連絡ください。

以上がNULL 値について SQL の NULL 値について: 欠損データの管理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。