66
56

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SQLで複数のORをまとめる書き方

Last updated at Posted at 2019-01-21

ORの多用から抜け出す

下のPersonテーブルから、Ageが10と35と40の人を抽出したいとき、みなさんどう書きますか?

ID Name Age
1 杉下 ブライアン 35
2 元旦 絵馬 40
3 鼻之穴 光男 10
4 楊枝 折子 89

ORを使って書くと、下記のようになります。

SELECT *
FROM `Person`
WHERE `Age` = 10 OR `Age` = 35 OR `Age` = 40; -- ORが2つもあって気分が優れない… --

ORが2つもあってなんだか気分が優れません。
そこで、IN句を使って書いてみましょう。そうすると、以下のようになります。

SELECT *
FROM `Person`
WHERE `Age` IN (10, 35, 40); -- INを使うと綺麗にまとめられる! --

このように、カラムが同じであれば、IN句を使ってまとめられるみたいです。
とても綺麗になりました(´∇`)

参考

66
56
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
66
56

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?