#mysql #is-empty
Вопрос:
У меня есть movie
в качестве стола
Я попытался выполнить следующие запросы, где поставил 2 условия с movie_genre='comedy'
и movie_genre='family'
:
select movie_title, movie_cost, movie_genre
from movie
where movie_genre ='comedy'
and movie_genre ='family'
order by movie_cost asc;
После выполнения запросов он возвращается Empty set
.
Хотя я попробовал одно условие, оно работает нормально, но при добавлении 2 условий оно снова идет не так.
Как я могу решить эту проблему?
Ответ №1:
Вы должны использовать OR
, чтобы проверить, является ли movie_genre
одно из двух значений.
Обновленный запрос —
select movie_title, movie_cost, movie_genre from movie
where movie_genre ='comedy' or movie_genre ='family'
order by movie_cost asc;
Комментарии:
1. Ну, обычно вы используете В()
Ответ №2:
SELECT movie_title, movie_cost, movie_genre
FROM movie
WHERE
movie_genre ='comedy'
OR
movie_genre ='family'
ORDER BY movie_cost ASC;
Вы должны использовать OR
, потому AND
что это означает, что два условия должны быть верны одновременно, но это невозможно!
Другой синтаксис запроса может быть
SELECT movie_title, movie_cost, movie_genre
FROM movie
WHERE movie_genre IN ('comedy', 'family')
ORDER BY movie_cost ASC;
Ответ №3:
Еще один вариант-ОБЪЕДИНИТЬ ВСЕ:
SELECT movie_title, movie_cost, movie_genre
FROM movie
WHERE movie_genre = 'comedy'
UNION ALL
SELECT movie_title, movie_cost, movie_genre
FROM movie
WHERE movie_genre = 'family'
ORDER BY movie_cost ASC;