見るためのデータベース・SQL 検索条件 NOT, IN


エンジニアの方にとってみれば、SQL は使えてあたりまえかもしれませんが、営業や管理部の人からすれば魅惑の魔法といわれることもあります。 しかし非エンジニアの方でも SQL が使えた方がいいですし、 そのほうがエンジニアの作業も楽になります。

今回は、 検索条件の否定と IN を使った検索条件について説明します。 データを見るのに必須ではないので、 急ぐ方はこの記事をとばしていただいても OK です。

環境

  • PostgreSQL
  • pgAdmin 3
  • Windows 10

PostgreSQL を使います。 データベースに Oracle Database, MySQL を使用している場合でも同じです。

検索条件の否定

次のようなusersテーブルを考えます。

users
id email
1 sample_1@mail.com
2 sample_2@mail.com
3 sample_3@mail.com
4 sample_4@mail.com
5 sample_5@example.com
6 sample_6@example.com
7 sample_7@example.com
8 sample_8@example.com
9 sample_9@example.com
10 sample_10@example.com

id が 1以外のデータを検索します。 見るための データベース・SQL 1つのテーブルからデータを取り出す で書いたように != を使うこともできますが、 ここでは NOT を使って書いてみます。

= 以外 の条件でも、 NOT をつけると否定の条件にできます。

どれかひとつに該当する場合の検索条件

id が 1, 3, 5 の中にあるデータを検索する場合を考えます。 id = 1, id = 3, id = 5OR でつなぐこともできますが、 IN を使って書くこともできます。

補足

NOT が関係する条件には NOT IN, NOT LIKE などもあります。 しかし NOT xxx LIKE 'ZZZZ' のように書くのと基本的に変わらないため、 ここでは説明しませんでした。

見るためのデータベース・SQL 複数のテーブルからデータを取得する に続きます。