このクエリを試すとき:
SELECT * FROM superpart WHERE
Brick_subpart_id = 603 OR 145;
出力は次のとおりです。
'200', '144'
'10002', '144'
'620', '145'
「144」が表示されるのはなぜですか? 私は 603 から 145 の範囲を要求しませんよね? それにしても144は145より低い…
このクエリを試すとき:
SELECT * FROM superpart WHERE
Brick_subpart_id = 603 OR 145;
出力は次のとおりです。
'200', '144'
'10002', '144'
'620', '145'
「144」が表示されるのはなぜですか? 私は 603 から 145 の範囲を要求しませんよね? それにしても144は145より低い…
これは、145 を何とも比較していないため、true になり、クエリがすべてのレコードに一致するためです。
クエリは
SELECT * FROM superpart WHERE
Brick_subpart_id = 603 OR Brick_subpart_id = 145;
次のように書き換えることができます。
SELECT * FROM superpart WHERE
Brick_subpart_id IN (603,145)
SELECT * FROM superpart WHERE
Brick_subpart_id In( 603 , 145)