Занятие 03. Практикум 1
⚡ Кратко: суть темы
Практическое занятие для закрепления SELECT и WHERE. Решаем 13 задач на фильтрацию строк: диапазоны, пропуски, маски, комбинации AND/OR.
- Используйте
BETWEENдля числовых диапазонов. - Используйте
LIKEдля строковых масок. - Проверяйте
NULLтолько черезIS NULL.
Что запомнить: перед запуском сложного запроса убедитесь, что выбрана нужная база данных.
Частая ошибка: путать AND и OR при комбинировании условий.
📝 Задания практикума
База данных: northwind.
- Выведите список всех товаров из
products, у которыхstandard_costнаходится в диапазоне от 10 до 20. - Найдите все заказы из
orders, у которыхpayment_typeне заполнен, и которые отправлены из Калифорнии (ship_state_province = 'CA'). - Выведите список всех сотрудников из
employees, чья фамилия начинается наC. - Найдите всех клиентов в
customers, которые проживают в городахMinneapolis,Denver,Bostonили работают в должностиPurchasing Manager. - Измените предыдущий запрос так, чтобы из результата выводились только записи, где
state_province = 'CO'. - Выведите все строки из
products, гдеminimum_reorder_quantityвходит в диапазон от 10 до 25 включительно,quantity_per_unitсодержит словоboxesиstandard_costменьше 10. - Измените предыдущий запрос, заменив
ANDнаOR. Объясните, какие строки теперь выводятся. - Подумайте, одинаковый ли результат дадут эти два запроса:
WHERE a AND b OR c; WHERE a AND (b OR c); - Выберите все строки из
products, гдеquantity_per_unit IS NULLиreorder_level = 100. - Выберите имена продуктов из
products, гдеlist_priceпревышаетstandard_costболее чем на 5. - Выберите все строки из
products, гдеreorder_levelв два раза меньшеtarget_level. - Выберите все строки из
products, для которыхproduct_codeсодержитNWTSOиstandard_cost = 1, либоlist_price < 5иtarget_level = 40. - Выберите все строки из
products, для которыхproduct_codeсодержитNWTSOилиstandard_cost = 1, при условии чтоtarget_level = 40. Решите двумя способами.
Проверка понимания
Выберите один вариант ответа. После клика правильный ответ подсветится зелёным.
Вопрос 1
Что важнее всего в практическом задании?
Вопрос 2
Как безопаснее двигаться в практикуме?
Вопрос 3
Что делать, если решение не совпадает с ожидаемым результатом?
Вопрос 4
Что делает SELECT?
Вопрос 5
Почему в SQL важен явный список столбцов?
Вопрос 6
Как лучше форматировать сложный SQL-запрос?