0
1

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 3 years have passed since last update.

SQLのANY/SOMEについて

Posted at

SQLについていろいろと調べていて、ANY/SOMEというものを発見したので記事にしておこうと思います。
使ったことがない句なのでもしかしたらあまり使いどころがないのかもしれませんが……。
まず、以下のようなテーブルを用意します。

Div Name Price
01 りんご 200
02 ぶどう 100
01 なし 150
03 みかん 300
02 ばなな 250
SQL
SELECT * FROM TABLE1 WHERE Price > ANY (SELECT Price FROM TABLE1 WHERE Div = '01');

ANY句の直後に指定されているSELECT句を実行すると、200と150が返されます。
ANYは比較演算子の条件に一つでも一致しているとTrueを返すので、この場合、Priceが150より大きいレコードがすべて返されることになります。
よって、上記のSQLを実行すると、以下のような結果が返されます。

Div Name Price
01 りんご 200
03 みかん 300
02 ばなな 250

なお、SOMEはANYとまったく同じ動きをします。

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?