Задача по получению информации об авторах и книгах

MySQLMySQLBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

Администратор библиотеки, отвечающий за базу данных, нуждается в помощи в создании отчета, который объединяет информацию из двух таблиц. В библиотеке есть отдельные таблицы для авторов и их книг, и им нужен запрос, который покажет названия книг рядом с именами авторов в одном представлении.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL mysql(("MySQL")) -.-> mysql/DatabaseFunctionsandDataTypesGroup(["Database Functions and Data Types"]) sql(("SQL")) -.-> sql/AdvancedDataOperationsGroup(["Advanced Data Operations"]) mysql(("MySQL")) -.-> mysql/BasicKeywordsandStatementsGroup(["Basic Keywords and Statements"]) sql(("SQL")) -.-> sql/DataManipulationandQueryingGroup(["Data Manipulation and Querying"]) mysql/BasicKeywordsandStatementsGroup -.-> mysql/use_database("Database Selection") mysql/BasicKeywordsandStatementsGroup -.-> mysql/select("Data Retrieval") sql/DataManipulationandQueryingGroup -.-> sql/order_by("ORDER BY clause") mysql/DatabaseFunctionsandDataTypesGroup -.-> mysql/date("Date Type") sql/AdvancedDataOperationsGroup -.-> sql/join("JOIN operations") sql/AdvancedDataOperationsGroup -.-> sql/date_time_functions("Date and Time functions") subgraph Lab Skills mysql/use_database -.-> lab-418296{{"Задача по получению информации об авторах и книгах"}} mysql/select -.-> lab-418296{{"Задача по получению информации об авторах и книгах"}} sql/order_by -.-> lab-418296{{"Задача по получению информации об авторах и книгах"}} mysql/date -.-> lab-418296{{"Задача по получению информации об авторах и книгах"}} sql/join -.-> lab-418296{{"Задача по получению информации об авторах и книгах"}} sql/date_time_functions -.-> lab-418296{{"Задача по получению информации об авторах и книгах"}} end

Создание объединенного отчета об авторах и книгах

Задачи

  • Подключиться к MySQL как пользователь root
  • Использовать базу данных library
  • Написать запрос, который объединяет данные из обеих таблиц для отображения:
    • Название книги
    • Имя автора
    • Год публикации
  • Результаты должны быть отсортированы по году публикации (сначала новые)
  • Сохранить результаты в файл с именем author_books.txt в директории ~/project

Требования

  • Все операции должны выполняться в директории ~/project
  • Запрос должен объединять таблицы authors и books
  • В результаты должны быть включены все книги и их соответствующие авторы
  • Результаты должны показывать ровно три столбца в следующем порядке: название, имя автора, год публикации
  • Год публикации должен быть отображен как число
  • Вывод должен быть сохранен в файл с именем author_books.txt в директории ~/project

Пример

После написания правильного запроса и сохранения результатов вы можете проверить вывод:

cat ~/project/author_books.txt
+------------------------+--------------+------------------+
| title                  | name         | publication_year |
+------------------------+--------------+------------------+
| Tech Trends            | Maria Garcia |             2023 |
| Digital Innovation     | Robert Chen  |             2022 |
| SQL Mastery            | Jane Smith   |             2021 |
| Database Design Basics | Jane Smith   |             2020 |
+------------------------+--------------+------------------+
✨ Проверить решение и практиковаться

Резюме

В этом задании вы практиковались в создании запроса, который объединяет данные из нескольких таблиц с использованием оператора INNER JOIN в MySQL. Демонстрируемые навыки включают соединение таблиц с использованием их связанных полей, выбор определенных столбцов из нескольких таблиц и сортировку результатов. Эти основные навыки работы с операцией JOIN являются обязательными для работы с реляционными базами данных и будут часто использоваться при запросах данных из нескольких связанных таблиц.