カテゴリ: PostgreSQL 更新日: 2026/01/14

SQLの基本を完全ガイド!初心者でもわかるデータベース操作

PostgreSQLでNULLS FIRST/NULLS LASTを指定する方法
PostgreSQLでNULLS FIRST/NULLS LASTを指定する方法

先生と生徒の会話形式で理解しよう

生徒

「データを並び替えるときに、空白みたいなデータが上に来たり下に来たりして混乱します…」

先生

「それはNULLという値が関係しています。PostgreSQLでは、そのNULLをどこに並べるかも指定できます。」

生徒

「NULLって何ですか?数字の0とは違うんですか?」

先生

「NULLは『まだ何も書かれていない状態』です。空欄の名簿を想像すると分かりやすいですよ。」

1. SQLとは何か?

1. SQLとは何か?
1. SQLとは何か?

SQLは、データベースという箱に入っている大量のデータを整理して取り出すための言葉です。データベースは、紙の名簿や表を何万枚もまとめて保管できる倉庫のようなものです。SQLを使うと、その中から必要な情報だけを探したり、順番を変えて見やすく並べたりできます。PostgreSQLは、そのSQLを使って操作する代表的なデータベースの一つです。

2. 並び替えとORDER BYの基本

2. 並び替えとORDER BYの基本
2. 並び替えとORDER BYの基本

データを並び替えるときに使うのがORDER BYです。例えば、年齢の小さい順、大きい順のように、ルールを決めて表を整列させます。これは、紙の名簿を年齢順に並べ直す作業と同じ感覚です。


id | name       | age | email
---+------------+-----+-------------------
1  | 山田太郎   | 25  | taro@example.com
2  | 佐藤花子   | 19  | hanako@example.com
3  | 鈴木一郎   |    | ichiro@example.com
4  | 高橋次郎   | 30  | jiro@example.com
5  | 伊藤美咲   |    | misaki@example.com

3. NULLとは何かを理解しよう

3. NULLとは何かを理解しよう
3. NULLとは何かを理解しよう

NULLとは「値が存在しない」状態を表します。0や空の文字とは違い、「まだ決まっていない」「分からない」という意味を持ちます。名簿で例えると、年齢欄が空白のままになっている状態です。PostgreSQLでは、このNULLがあると並び替えの結果が少し分かりにくくなることがあります。

4. NULLS FIRSTとNULLS LASTの役割

4. NULLS FIRSTとNULLS LASTの役割
4. NULLS FIRSTとNULLS LASTの役割

PostgreSQLでは、ORDER BYと一緒にNULLS FIRSTやNULLS LASTを指定できます。これは、NULLを先頭に並べるか、最後に並べるかを決めるための指示です。FIRSTは「最初」、LASTは「最後」という意味です。英語が苦手でも、この二つだけ覚えれば十分です。

5. NULLを最後に並べる例(NULLS LAST)

5. NULLを最後に並べる例(NULLS LAST)
5. NULLを最後に並べる例(NULLS LAST)

年齢順に並べたいとき、年齢が分からない人は最後にまとめたい場合があります。そのときにNULLS LASTを使います。


SELECT id, name, age
FROM users
ORDER BY age ASC NULLS LAST;

id | name       | age
---+------------+-----
2  | 佐藤花子   | 19
1  | 山田太郎   | 25
4  | 高橋次郎   | 30
3  | 鈴木一郎   |
5  | 伊藤美咲   |

6. NULLを最初に並べる例(NULLS FIRST)

6. NULLを最初に並べる例(NULLS FIRST)
6. NULLを最初に並べる例(NULLS FIRST)

逆に、未入力のデータを先に確認したい場合は、NULLS FIRSTを使います。チェック漏れを探すときに便利です。


SELECT id, name, age
FROM users
ORDER BY age ASC NULLS FIRST;

id | name       | age
---+------------+-----
3  | 鈴木一郎   |
5  | 伊藤美咲   |
2  | 佐藤花子   | 19
1  | 山田太郎   | 25
4  | 高橋次郎   | 30

7. 降順とNULLの関係

7. 降順とNULLの関係
7. 降順とNULLの関係

DESCを使って大きい順に並べる場合でも、NULLの位置は指定できます。PostgreSQLでは、何も書かないと並び方が分かりにくくなることがあるため、初心者のうちはNULLS FIRSTやNULLS LASTを明示的に書くのがおすすめです。


SELECT id, name, age
FROM users
ORDER BY age DESC NULLS LAST;

id | name       | age
---+------------+-----
4  | 高橋次郎   | 30
1  | 山田太郎   | 25
2  | 佐藤花子   | 19
3  | 鈴木一郎   |
5  | 伊藤美咲   |

8. 初心者が混乱しやすいポイント

8. 初心者が混乱しやすいポイント
8. 初心者が混乱しやすいポイント

NULLは数字でも文字でもない特別な存在です。そのため、並び替えや計算の結果に影響します。PostgreSQLでORDER BYを使うときは、「NULLをどう扱いたいか」を最初に考える癖をつけると、データが見やすくなります。これは、名簿の空欄を先に確認するか、後回しにするかを決める作業と同じです。

カテゴリの一覧へ
新着記事
New1
MySQL
MySQLのWHERE句でNOT条件を指定する方法を徹底解説!初心者向けSQL条件検索ガイド
New2
PostgreSQL
PostgreSQLのLIMIT・OFFSETとパフォーマンス問題を完全解説|初心者でもわかる安全な使い方
New3
MySQL
MySQLのUPDATE文でデータを更新する基本を徹底解説|SQL初心者でもわかるデータベース更新入門
New4
PostgreSQL
PostgreSQLのOFFSET完全入門|並び替えと組み合わせてデータをスキップする方法を初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
PostgreSQL
PostgreSQLのDISTINCT完全ガイド|SQLで重複データを除外する方法を初心者向けに解説
No.2
Java&Spring記事人気No2
PostgreSQL
PostgreSQLの主キー・外部キーを完全解説!初心者でもわかる設定方法と考え方
No.3
Java&Spring記事人気No3
PostgreSQL
PostgreSQLとは?初心者向けに特徴をわかりやすく解説
No.4
Java&Spring記事人気No4
PostgreSQL
PostgreSQLのLEFT JOIN完全入門!不足データを補いながらテーブル結合する仕組みをやさしく解説
No.5
Java&Spring記事人気No5
PostgreSQL
PostgreSQLのUPDATE文の使い方(部分更新・条件更新)
No.6
Java&Spring記事人気No6
PostgreSQL
PostgreSQLスキーマ設計のベストプラクティス完全ガイド|初心者でもわかるデータベース整理術
No.7
Java&Spring記事人気No7
PostgreSQL
PostgreSQLスキーマ作成・削除完全ガイド!初心者でもわかるデータベース設計の基礎
No.8
Java&Spring記事人気No8
PostgreSQL
PostgreSQLの権限管理を完全解説|スキーマ単位で理解するデータベースセキュリティの基礎