Possible Duplicate:
Parameterizing an SQL IN clause?
Suppose I had a table of schools which school_name, school_enrolment
As input to my program, someone types a list of schools that they would like to see the enrolment for. Instead of generating an sql query like:
SELECT * FROM school_table
WHERE
school_name = 'program_input_1' or school_name = 'program_input_2' or school_name = 'program_input_3'
is it possible or straightforward to do something like
SELECT * from school_table
WHERE
school name in [array of program inputs]
as a much cleaner way of writing this?
We can pass an array with the help of where IN clause.
But yes, you can use two WHERE.
You can create a WHERE clause and HAVING clause involving the same column. To do so, you must add the column twice to the Criteria pane, then specify one instance as part of the HAVING clause and the other instance as part of the WHERE clause.
You should use the WHERE clause to filter the records and fetching only the necessary records. The WHERE clause is not only used in the SELECT statement, but it is also used in the UPDATE, DELETE statement, etc., which we would examine in the subsequent chapters.
Yes, this is what IN
is for:
SELECT col1, col2, ..., coln
FROM school_table
WHERE school_name IN ('program_input_1', 'program_input_2', 'program_input_3')
You can use the IN(...)
clause:
WHERE School_name in ('school 1','school 2')
In terms of passing an array, it depends on the programming language you are using to generate the SQL.
You would have to write a custom function that loops over the array, dynamically generating the IN clause
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With