クエリを作成できるフィルター検索に取り組んでいますが、そのAND部分が正しい値を返していません。gpaに対して正しい結果が返されますが、すべてのレコードが返されないため、次数チェックに対して正しい結果が返されません。ここでの「BSCS」フィルターはクエリコードです:
SELECT *
FROM education
WHERE gpa >= 2.10
OR gpa =0
AND degree = 'BSCS'
OR degree = NULL
かっこを追加する必要があるようです。
SELECT *
FROM education
WHERE (gpa >= 2.10 OR gpa =0)
AND (degree = 'BSCS' OR degree is NULL)
句を拡張したい場合はWHERE
、次を使用できます。
SELECT *
FROM education
WHERE
(
(gpa >= 2.10 OR gpa =0)
AND (degree = 'BSCS' OR degree is NULL)
)
OR
(
(gpa is null or gpa ='')
or (degree is null or degree = '')
)
以下のコードを試してください:
And / OR条件を使用するときは、混乱を避けるために常に括弧を付けてください。また、フィールドがnullかどうかを確認する最良の方法は次のとおりです。WHERE myField IS NULL
SELECT *
FROM education
WHERE (gpa >= 2.10 OR gpa =0 )
AND (degree = 'BSCS' OR degree is NULL)