>_ IzzyLab

Практическое задание

SQLite: соедини таблицы

сложно

В базе /root/shop.db есть таблицы orders(id, user_id, amount) и users(id, name). Составь запрос с JOIN, который для каждого заказа выдаёт имя пользователя и сумму, и запиши результат в /root/report.txt.

Что потренируешь:
  • sqlite3
  • join
  • on
  • select
  • алиасы таблиц

Разбор темы

Реляционные данные обычно разнесены по нескольким таблицам, связанным по общему полю (внешнему ключу). Оператор JOIN соединяет строки двух таблиц, а условие после ON задаёт, какое поле одной таблицы должно совпасть с полем другой. В SELECT перечисляешь нужные колонки из обеих таблиц; псевдонимы (алиасы) сокращают запись, но не обязательны. Утилита sqlite3 принимает файл базы и SQL-строку, а вывод перенаправляется в файл через >.

Что проверяется

  1. в отчёте есть имена пользователей
  2. в отчёте есть суммы заказов

Как это выглядит