SQL では、NULL 値 はデータベース列の欠落値または未定義の値を表します。これは、ゼロ、空の文字列、またはその他のデフォルト値と同じではありません。代わりに、NULL は、値が不明、使用できない、または適用できないことを示すために使用されるプレースホルダーです。
値がありません:
NULL は「値がない」または「不明な値」を意味します。
例: 顧客の電話番号が記録されていない場合、電話番号の列は NULL になる可能性があります。
比較できません:
通常の比較演算子 (=、!=) を使用して NULL 値を比較することはできません。代わりに、SQL は IS NULL や IS NOT NULL などの特別な関数を提供します。
ゼロまたは空ではありません:
NULL は、0 または空の文字列 ('') とは異なります。
例: 価格列では、0 は無料のアイテムを示し、NULL は価格が不明であることを示します。
集計に影響します:
SUM、AVG、COUNT などの集計関数は、明示的に処理されない限り NULL 値を無視します。
SELECT * FROM employees WHERE phone IS NULL;
INSERT INTO employees (id, name, phone) VALUES (1, 'Alice', NULL);
SELECT name, COALESCE(phone, 'No Phone') AS phone_display FROM employees;
ID | Name | Phone |
---|---|---|
1 | Alice | 1234567890 |
2 | Bob | NULL |
3 | Charlie | 9876543210 |
SELECT * FROM employees WHERE phone IS NULL;
結果:
| ID |名前 |電話 |
|------|--------|------|
| 2 |ボブ | NULL |
INSERT INTO employees (id, name, phone) VALUES (1, 'Alice', NULL);
結果:
| ID |名前 |電話 |
|------|--------|---------------|
| 1 |アリス | 1234567890 |
| 3 |チャーリー | 9876543210 |
は NULL です / は NULL ではありません:
NULLの有無を確認します。
合体:
最初の非 NULL 値を返します。
SELECT name, COALESCE(phone, 'No Phone') AS phone_display FROM employees;
SELECT * FROM employees WHERE phone IS NULL;
データの完全性:
NULL を使用すると、一部のデータがまだ利用できない場合に柔軟に対応できます。
論理表現:
「欠落している」値と「明示的に設定された」値を区別します (例: NULL と 0.
現実世界のシナリオ:
データがオプションであるか、保留中の注文の出荷日など、一時的に不明なケースを処理します。
間違った比較:
= 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 サイトの他の関連記事を参照してください。