SQL - Null関数

こんにちは、SQLに興味を持つ皆さん!今日は、SQLのNull関数という興味深い世界に踏み込んでみましょう。あなたの近所の親切なコンピュータ教師として、この旅を案内するのが楽しみです。プログラミングが初めての方でも心配ありません。一歩一歩進んでいきましょう。それでは、すぐにNull値をプロのように扱えるようになります!

SQL - Null Functions

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