
SQLServerの条件で、複数の値を一度に指定し、検索をするには、INを使用します。
INの使用方法は、WHERE での "=イコール"のかわりに"IN ()"を使用するだけです。
IN 複数の値の検索方法
INの使い方を見てみましょう。
SELECT
項目
,項目
FROM
テーブル名
WHERE
項目 IN (値,値,値・・・)
サンプル
SELECT
id
,nickName
,animal
FROM
hironimoTable
WHERE
animal IN ('きりん','いぬ')
結果
元データ
id | nickName | animal |
1 | たなか | いぬ |
2 | すずき | ねこ |
3 | さとう | ぞう |
4 | なかむら | きりん |
INで取得したデータ
id | nickName | animal |
1 | たなか | いぬ |
4 | なかむら | きりん |
指定した値以外のデータを取得
先ほどINで複数の値を指定して、データを抽出しましたが、次は指定した複数の値以外のデータを取得してみましょう。
指定した複数の値、以外のデータを取得したい時は、NOT IN() を使用します。
INの使い方を見てみましょう。
SELECT
項目
,項目
FROM
テーブル名
WHERE
項目 NOT IN (値,値,値・・・)
サンプル
SELECT
id
,nickName
,animal
FROM
hironimoTable
WHERE
animal NOT IN ('きりん','いぬ')
結果
元データ
id | nickName | animal |
1 | たなか | いぬ |
2 | すずき | ねこ |
3 | さとう | ぞう |
4 | なかむら | きりん |
NOT INで取得したデータ
id | nickName | animal |
2 | すずき | ねこ |
3 | さとう | ぞう |
まとめ
SQLの条件式で、複数の値を指定する時は、INを使いましょう。
ORをたくさん書く必要はありません。よく使うので、覚えておきましょう。