8

重複の可能性:
SQL IN句のパラメータ化?

school_name、school_enrolmentという学校のテーブルがあるとします。

私のプログラムへの入力として、誰かが登録を確認したい学校のリストを入力します。次のようなSQLクエリを生成する代わりに:

SELECT * FROM school_table
WHERE
school_name = 'program_input_1' or school_name = 'program_input_2' or school_name = 'program_input_3'

次のようなことを行うことは可能ですか、それとも簡単ですか

SELECT * from school_table
WHERE
school name in [array of program inputs]

これを書くためのはるかにクリーンな方法として?

4

2 に答える 2

10

はい、これがIN目的です:

SELECT col1, col2, ..., coln
FROM school_table
WHERE school_name IN ('program_input_1', 'program_input_2', 'program_input_3')
于 2012-11-16T21:40:37.770 に答える
2

IN(...)次の句を使用できます。

WHERE School_name in ('school 1','school 2')

配列を渡すという点では、SQL の生成に使用しているプログラミング言語によって異なります。

配列をループして IN 句を動的に生成するカスタム関数を作成する必要があります。

于 2012-11-16T21:43:34.283 に答える