15

SQLiteで次のことを行う方法はありますか?

select name
from   table
where  number >= ALL (<subquery, "such as select x from table ...">)

具体的にはALL、クエリをどのようにフォーマットしても、演算子の後に構文エラーが発生します。解決策をグーグルで調べたところ、 SQLite では構文が異なるという言及がいくつか見つかりましたALLが、それを理解できないようです。

ALL (<subquery>)SQLite で基本的なステートメントがどのように機能するかを誰かに教えてもらえますか? または、まったく機能しない場合はお知らせください。

4

3 に答える 3

13

SQLite にALL()演算子があるとは思えません。ただし、MAX() と MIN() を使用して、機能的に同等のものを作成できます。

SELECT name 
FROM table 
WHERE number >= (SELECT MAX(another_number) FROM another_table WHERE ...)
于 2012-11-01T01:29:07.380 に答える
4

SQLite には ALL キーワードがあります。しかし、それはあなたが望むことをしません。(幸い、@lawrenceの答えはそうです。)

ALL キーワードを WHERE 式の一部として使用することは許可されていませんが、キーワードは他のいくつかの場所に表示される可能性があります。

http://www.sqlite.org/lang_select.htmlから:

すべて選択 * ...

単純な SELECT ステートメントでは、SELECT キーワードの後に​​ ALL または DISTINCT キーワードのいずれかを続けることができます。単純な SELECT が SELECT ALL の場合、結果行のセット全体が SELECT によって返されます。ALL も DISTINCT も存在しない場合、動作は ALL が指定されているかのようになります。

SELECT ... UNION ALL SELECT ...

UNION ALL 演算子を使用して作成された複合 SELECT は、SELECT から UNION ALL 演算子の左側にあるすべての行と、SELECT からその右側にあるすべての行を返します。UNION 演算子は、重複する行が最終結果セットから削除されることを除いて、UNION ALL と同じように機能します。

于 2013-11-25T04:40:50.777 に答える