通常、SQL文のみをSELECT条件として使用できます(WHERE句を使用)。しかし、Python(またはSQLを呼び出す言語)ステートメントをSELECT条件として使用すると便利なことがあります。python文をSQLiteのSELECT条件として使用するには?
例えば、テーブルPoint
が格納されているin the document of sqlite3 module of pythonの例があります。ただし、構造Point
を使用してテーブルをクエリするのは難しいです。さて、SELECT p FROM table WHERE P.x=4
を実行して、x座標が4のすべてのポイントを選択します。P.x
はSQLステートメントではなくPythonステートメントなので、SELECT
ステートメントは機能しません。
もう1つの例は、SELECT条件がSQL言語にとって複雑すぎる場合です。言うことですが、mod 4が3であるすべての整数を選択したい、またはこのようなものを選択したいとします。
だから、これを行うという考えはありますか?ありがとうございました!
編集:zam664の回答に関しては、最初の例では必ずP_XとP_Yを使用することができます。しかし、pが未知の長さのリスト(アダプタを使用してテーブルに格納できる)であれば、私はSELECT p FROM table WHERE 2 in p
にします。これは便利なケースだと思います。
ちょうどメモ;データベースはPythonではなくSQLのみを実行するので(Pythonクエリは自動的にSQLに変換される必要があります)、Pythonで記述するとSQLで表現するには複雑すぎます。 Pythonが複雑性に関してお手伝いできる唯一のことは、自動的にデータベース内のクエリの一部を実行し、結果を戻すとコードに一度追加することです。 –