SQL - Null関数
こんにちは、SQLに興味を持つ皆さん!今日は、SQLのNull関数という興味深い世界に踏み込んでみましょう。あなたの近所の親切なコンピュータ教師として、この旅を案内するのが楽しみです。プログラミングが初めての方でも心配ありません。一歩一歩進んでいきましょう。それでは、すぐにNull値をプロのように扱えるようになります!
SQL Null関数
具体的な関数に進む前に、まずSQLでのNullとは何かについて話しましょう。フォームを埋める际に、「中間名」のフィールドがあるとします。もしあなたが中間名がない場合、そのフィールドを空白にします。SQLでは、その空白がNullで表されます。これはゼロでも空の文字列でもありません。値が存在しないことを示します。
Null値を扱うのは少し難しいことがあります。ここで私たちのNull関数が役立ちます。これらの関数は、データベース内の不在値を管理する手助けをしてくれます。それでは、これらの関数を一つずつ見ていきましょう。
The ISNULL()関数
ISNULL()関数は、いつも备用プランを持っている信頼できる友達のようです。値がNullであるかどうかをチェックし、Nullの場合は指定した別の値に置き換えます。
以下に例を示します:
SELECT ISNULL(middle_name, 'No Middle Name') AS middle_name
FROM students;
この例では、生徒のテーブルを見ています。生徒が中間名を持っていない場合(Null)、クエリは'No Middle Name'を表示します。不在の主演俳優の代役のようにです!
The COALESCE()関数
COALESCEは、Null値の「热い土豆」遊びのようです。リストの値をチェックし、最初に見つかった非Null値を返します。すべての値がNullの場合はNullを返します。
以下のように動作します:
SELECT COALESCE(phone, email, 'No Contact Info') AS contact
FROM customers;
このクエリはまず電話番号をチェックします。Nullでない場合は問題ありません。Nullの場合は、メールに進みます。電話番号とメールの両方がNullの場合は、'No Contact Info'を返します。鍵が合うまで違う鍵を試すようなものです!
The NULLIF()関数
NULLIFは、Null関数の家族の中で「等価性チェック」を行うものです。2つの表現を比較し、等しい場合Nullを返します。等しくない場合は最初の表現を返します。
以下にその動作を見てみましょう:
SELECT NULLIF(quantity, 0) AS adjusted_quantity
FROM inventory;
このクエリは、ゼロ除算エラーを避けるのに役立ちます。数量が0の場合、NULLIFはNullを返します。計算の安全網のようなものです!
The IFNULL()関数
IFNULLは、COALESCEのよりシンプルないとこです。2つの表現を受け取り、最初の表現がNullでない場合はそれを返します。最初の表現がNullの場合は、2番目の表現を返します。
以下に例を示します:
SELECT IFNULL(comment, 'No comment provided') AS feedback
FROM reviews;
このクエリは、コメントがあるかどうかをチェックします。コメントがない場合(Null)、デフォルトのメッセージを提供します。 guestsが静かである場合でも、常に何かを言える丁重な主人のようなものです!
それでは、これらの関数を便利な表にまとめましょう:
関数 | 説明 | 例 |
---|---|---|
ISNULL() | Nullを指定した値に置き換える | ISNULL(middle_name, 'No Middle Name') |
COALESCE() | リストの最初の非Null値を返す | COALESCE(phone, email, 'No Contact Info') |
NULLIF() | 2つの表現が等しい場合Nullを返す | NULLIF(quantity, 0) |
IFNULL() | 最初の表現がNullでない場合それを返す、そうでない場合は2番目の表現を返す | IFNULL(comment, 'No comment provided') |
Null値を扱うことは、データベース管理において非常に重要です。不在のものを何时に見つけ、どのように対処するかを知る必要があります。これらの関数は、その探偵活動における信頼できる道具です!
最後に、私の教え子の経験谈を共有したいと思います。ある生徒がNull値に非常に恐れを感じていました。彼はNullを避け、すべてのフィールドにゼロや空の文字列を入力していました。これらのNull関数を学んだ後、彼は「Nullはもう怖くない – それはただの別の値として扱うものだ!」と叫びました。そして、それが正好私があなたに持ってほしい態度です。
これらの関数をクエリで使用して練習し、異なるデータでの動作を試してみてください。SQLも人生と同じで、欠損値があっても構いません。重要なのは、どのようにそれを扱うかです!
快適なクエリをし、Null値の処理が常にスムーズでエラーのないものになることを願っています!
Credits: Image by storyset