Здравствуйте. Не получается решить задачу((
Выгрузите из таблицы movie название фильмов, описание которых заканчивается подстрокой Mexico. Аренда фильмов из итоговой таблицы должна составлять меньше двух долларов либо их рейтинг не должен быть PG-13.
Подсказка
Скомбинируйте поиск по шаблону с логическими операторами.
SELECT title
FROM movie
WHERE title LIKE '%Mexico'
AND rental_rate < 2
OR NOT rating = 'PG-13';
Ставлю скобки после AND и PG-13, мало строк.
SQL
SQL задача. Помогите решить
Проблема в том, что у вас неправильно составлено логическое выражение. Вы используете операторы AND и OR, но не используете скобки для определения порядка выполнения операций. В вашем случае, поскольку оператор OR имеет более низкий приоритет, чем оператор AND, запрос может быть интерпретирован неправильно.
Для решения этой проблемы вы можете использовать скобки, чтобы явно определить порядок выполнения операций. Попробуйте следующий запрос:
Код:
SELECT title
FROM movie
WHERE title LIKE '%Mexico'
AND (rental_rate < 2 OR NOT rating = 'PG-13');
В этом запросе мы используем скобки, чтобы объединить условие rental_rate < 2 с оператором OR, и затем объединяем получившееся выражение с условием NOT rating = 'PG-13' с помощью оператора AND.
Надеюсь, это поможет!
Для решения этой проблемы вы можете использовать скобки, чтобы явно определить порядок выполнения операций. Попробуйте следующий запрос:
Код:
SELECT title
FROM movie
WHERE title LIKE '%Mexico'
AND (rental_rate < 2 OR NOT rating = 'PG-13');
В этом запросе мы используем скобки, чтобы объединить условие rental_rate < 2 с оператором OR, и затем объединяем получившееся выражение с условием NOT rating = 'PG-13' с помощью оператора AND.
Надеюсь, это поможет!
Борис Маркарьян
Операторы and и or имеют одинаковый приоритет и рассматриваются в порядке написания (по очереди).
Евгений Замков
Благодарю!!!
... AND (rental_rate < 2 OR rating <> 'PG-13');
Евгений Замков
Благодарю!!!
Ваш запрос почти правильный, но вы забыли учесть приоритет операторов AND и OR. По умолчанию оператор AND имеет больший приоритет, чем OR. Это означает, что ваш запрос будет интерпретироваться так:
SELECT title
FROM movie
WHERE (title LIKE '%Mexico' AND rental_rate < 2)
OR NOT rating = 'PG-13';
Таким образом, вы получите все фильмы с подстрокой Mexico и арендой меньше двух долларов, а также все фильмы с рейтингом отличным от PG-13.
Если вы хотите получить только фильмы с подстрокой Mexico и одним из этих условий (аренда меньше двух долларов или рейтинг не PG-13), то вам нужно использовать скобки для группировки условий. Вот как должен выглядеть ваш запрос:
SELECT title
FROM movie
WHERE title LIKE '%Mexico'
AND (rental_rate < 2 OR NOT rating = 'PG-13');
SELECT title
FROM movie
WHERE (title LIKE '%Mexico' AND rental_rate < 2)
OR NOT rating = 'PG-13';
Таким образом, вы получите все фильмы с подстрокой Mexico и арендой меньше двух долларов, а также все фильмы с рейтингом отличным от PG-13.
Если вы хотите получить только фильмы с подстрокой Mexico и одним из этих условий (аренда меньше двух долларов или рейтинг не PG-13), то вам нужно использовать скобки для группировки условий. Вот как должен выглядеть ваш запрос:
SELECT title
FROM movie
WHERE title LIKE '%Mexico'
AND (rental_rate < 2 OR NOT rating = 'PG-13');
Обратите внимание, что в задании сказано "...ОПИСАНИЕ которых заканчивается подстрокой Mexico." Описание, а не название фильма.
SELECT title
FROM movie
WHERE description LIKE '%Mexico%'
AND (rental_rate < 2
OR rating <> 'PG-13');
SELECT title
FROM movie
WHERE description LIKE '%Mexico%'
AND (rental_rate < 2
OR rating <> 'PG-13');
Похожие вопросы
- Помогите решить SQL задачки?
- Помогите решить задачу
- Помогите решить 2 проблемы с Mysql
- SQL. Выводятся не все данные. 4 задача.
- Вопрос по SQL. Помогите понять решение задачи
- Простая задача на SQL
- Помогите написать sql запросы
- Чем отличаются разные SQL?
- Не очень понятен синтаксис запросов SQL
- Вопрос по SQL + Python