Demigodd
@Demigodd

Как вместе проверять 2 условия в WHERE?

SELECT *
FROM User
WHERE User.id IS NULL AND User.name = 'google'


То есть тут запрос возвращает всех User`ов у кого name = 'google'.

А мне нужно проверять если id равно NULL и после этого проверять name равно ли 'google'.
  • Вопрос задан
  • 101 просмотр
Решения вопроса 4
@res2001
Developer, ex-admin
Добавьте через and дополнительное условие.
Почитайте что-нибудь про логические выражения.
Ответ написан
Комментировать
samodum
@samodum
Какой вопрос - такой и ответ
SELECT * FROM (
SELECT * FROM User
WHERE id IS NULL) t2
WHERE t2.name = 'google'
Ответ написан
Комментировать
tsklab
@tsklab
Здесь отвечаю на вопросы.
SELECT *
FROM User
WHERE (User.id IS NULL) AND (User.name = 'google')
Ответ написан
Комментировать
@ponaehal
Ну вы даете... Это все одно и тоже.

Даже вот это
SELECT * FROM (
SELECT * FROM User
WHERE id IS NULL) t2
WHERE t2.name = 'google'

оптимизатор почти любой реляционной БД превратит вот в это:
SELECT *
FROM User
WHERE User.id IS NULL AND User.name = 'google'


И вообще сам вопрос содержит абсолютно верный ответ. Решать вопрос пследовательности фильтрации предоставьте оптимизатору.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы