MySQL возвращает вывод в пустом наборе

#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;