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

PostgreSQLのAND・OR・NOTを使った複合条件

PostgreSQLのAND・OR・NOTを使った複合条件
PostgreSQLのAND・OR・NOTを使った複合条件

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

生徒

「WHERE句で条件を一つ書くのは分かってきたんですが、条件が二つ以上あるときはどうするんですか?」

先生

「そのときに使うのが、AND・OR・NOTという考え方です。これは日常会話でもよく使っている言葉ですよ。」

生徒

「パソコンをほとんど触ったことがなくても大丈夫でしょうか?」

先生

「大丈夫です。条件を組み合わせるだけなので、買い物や名簿探しに例えて説明します。」

1. SQLとは何か?

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

SQLは、データベースという「情報を表で整理して保存する箱」に対して命令を出すための言葉です。PostgreSQLは、そのSQLを使ってデータを安全に管理できるデータベースの一つです。

SQLの中でもSELECT文は、表の中から必要な情報だけを取り出すために使われます。そして、条件を指定するときにWHERE句を使います。

2. 複合条件とは?

2. 複合条件とは?
2. 複合条件とは?

複合条件とは、「条件が一つだけではなく、複数ある状態」のことです。

たとえば「二十歳以上で、東京都に住んでいる人」や「学生か、会社員の人」といったように、条件が組み合わさっています。PostgreSQLでは、AND・OR・NOTを使って、このような条件を表現します。

3. 今回使うテーブルを確認しよう

3. 今回使うテーブルを確認しよう
3. 今回使うテーブルを確認しよう

以下のusersテーブルを使って、複合条件の動きを見ていきます。


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

4. AND 条件をすべて満たす場合

4. AND 条件をすべて満たす場合
4. AND 条件をすべて満たす場合

ANDは、「〜かつ〜」という意味です。二つの条件が両方とも正しい場合だけ、データが表示されます。

日常生活で言うと、「二十歳以上で、会員カードを持っている人」といったイメージです。


SELECT *
FROM users
WHERE age >= 20
AND age < 30;

id | name       | age | email
---+------------+-----+-------------------
1  | 山田太郎   | 25  | taro@example.com
4  | 高橋次郎   | 22  | jiro@example.com
5  | 伊藤美咲   | 28  | misaki@example.com

5. OR どちらかを満たせばよい場合

5. OR どちらかを満たせばよい場合
5. OR どちらかを満たせばよい場合

ORは、「〜または〜」という意味です。どちらか一方の条件を満たしていれば、データが表示されます。

「現金かクレジットカード、どちらかで支払える」と考えると分かりやすいです。


SELECT name, age
FROM users
WHERE age < 20
OR age >= 30;

name     | age
---------+-----
佐藤花子 | 19
鈴木一郎 | 30

6. NOT 条件を否定する

6. NOT 条件を否定する
6. NOT 条件を否定する

NOTは、「〜ではない」という意味です。条件をひっくり返す役割を持っています。

名簿で「この人以外全員」を探すようなイメージです。


SELECT *
FROM users
WHERE NOT age < 25;

このSQLは、「二十五歳未満ではない人」、つまり二十五歳以上の人を表示します。

7. AND・OR・NOTを組み合わせる考え方

7. AND・OR・NOTを組み合わせる考え方
7. AND・OR・NOTを組み合わせる考え方

複合条件を使うときは、まず日本語で条件を整理することが大切です。

「誰で」「どんな条件で」「除外したいものは何か」を紙に書き出すと、SQLに置き換えやすくなります。

8. 複合条件を使う意味

8. 複合条件を使う意味
8. 複合条件を使う意味

PostgreSQLでAND・OR・NOTを使えるようになると、必要なデータだけを正確に取り出せるようになります。

これはデータベース操作の基本であり、条件検索を理解する大切な一歩です。

まずは三つの意味を、日常の言葉と結びつけて覚えていきましょう。

カテゴリの一覧へ
新着記事
New1
PostgreSQL
PostgreSQLのLIMIT・OFFSETとパフォーマンス問題を完全解説|初心者でもわかる安全な使い方
New2
MySQL
MySQLのUPDATE文でデータを更新する基本を徹底解説|SQL初心者でもわかるデータベース更新入門
New3
PostgreSQL
PostgreSQLのOFFSET完全入門|並び替えと組み合わせてデータをスキップする方法を初心者向けに解説
New4
MySQL
MySQLで複数行INSERTを行う方法と注意点を徹底解説|SQL基礎から学ぶデータベース入門
人気記事
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のpublicスキーマの役割と扱い方