Поиск выпускников курсов по биологии

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

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

Введение

В этом проекте вы научитесь искать студентов, которые прошли курсы, предлагаемые определенным отделом, в данном случае, отделом Биологии. Это обычная задача, которую учителя часто должны выполнять при подсчете оценок студентов.

👀 Предварительный просмотр

MySQL [edusys]> SOURCE /home/labex/project/multiTableQuery.sql
+-------+--------+-----------+-------+
| ID    | name   | course_id | grade |
+-------+--------+-----------+-------+
| 98988 | Tanaka | BIO-101   | A     |
| 98988 | Tanaka | BIO-301   | NULL  |
+-------+--------+-----------+-------+
2 rows in set (0.002 sec)

🎯 Задачи

В этом проекте вы научитесь:

  • Как запускать и обращаться к базе данных MySQL с использованием команды sudo
  • Как импортировать SQL-файл (edusys.sql) в базу данных MySQL
  • Как писать SQL-запрос, который объединяет несколько таблиц (student, course и takes), чтобы получить необходимую информацию
  • Как запускать SQL-запрос и отображать результирующую таблицу

🏆 Достижения

После завершения этого проекта вы сможете:

  • Разобраться, как работать с несколькими таблицами базы данных, чтобы получить конкретную информацию
  • Писать сложные SQL-запросы, которые включают объединение таблиц и фильтрацию данных
  • Применять свои знания SQL в реальных сценариях, таких как поиск записей студентов в системе управления курсами

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL mysql(("MySQL")) -.-> mysql/BasicKeywordsandStatementsGroup(["Basic Keywords and Statements"]) mysql(("MySQL")) -.-> mysql/DatabaseFunctionsandDataTypesGroup(["Database Functions and Data Types"]) mysql/BasicKeywordsandStatementsGroup -.-> mysql/use_database("Database Selection") mysql/BasicKeywordsandStatementsGroup -.-> mysql/select("Data Retrieval") mysql/BasicKeywordsandStatementsGroup -.-> mysql/source("External Code Execution") mysql/DatabaseFunctionsandDataTypesGroup -.-> mysql/database("DB Function - Info Retrieval") subgraph Lab Skills mysql/use_database -.-> lab-301288{{"Поиск выпускников курсов по биологии"}} mysql/select -.-> lab-301288{{"Поиск выпускников курсов по биологии"}} mysql/source -.-> lab-301288{{"Поиск выпускников курсов по биологии"}} mysql/database -.-> lab-301288{{"Поиск выпускников курсов по биологии"}} end

Запустите MySQL и получите доступ к базе данных

В этом шаге вы научитесь запускать базу данных MySQL и получать доступ к ней с использованием команды sudo без пароля.

  1. Запустите службу MySQL:
sudo service mysql start
  1. Получите доступ к базе данных MySQL с использованием команды sudo:
sudo mysql

Теперь вы успешно запустили базу данных MySQL и получили доступ к ней.

Импортируйте файл edusys.sql

В этом шаге вы научитесь импортировать файл edusys.sql в базу данных MySQL.

  1. Убедитесь, что вы в MySQL-подсказке:
MariaDB [(none)]>
  1. Импортируйте файл edusys.sql:
MariaDB [(none)]> SOURCE /home/labex/project/edusys.sql;

Теперь файл edusys.sql был импортирован в базу данных MySQL.

Напишите SQL-запрос

В этом шаге вы напишете SQL-запрос для поиска идентификатора студента, имени, идентификатора курса и оценки всех студентов, которые прошли курсы, предлагаемые кафедрой Биологии.

  1. Откройте файл multiTableQuery.sql и добавьте следующий SQL-запрос:
SELECT
    s.ID,
    s.name,
    c.course_id,
    t.grade
FROM
    takes t
    JOIN student s ON t.ID = s.ID
    JOIN course c ON t.course_id = c.course_id
WHERE
    s.dept_name = 'Biology';

Этот запрос объединяет таблицы student, course и takes, чтобы получить необходимую информацию о студентах, которые прошли курсы в кафедре Биологии.

Запустите SQL-запрос

В этом шаге вы запустите SQL-запрос, хранящийся в файле multiTableQuery.sql.

  1. Убедитесь, что вы в MySQL-подсказке:
MariaDB [edusys]>
  1. Запустите SQL-скрипт:
MariaDB [edusys]> SOURCE /home/labex/project/multiTableQuery.sql;

Запрос будет выполнен, и результирующая таблица будет отображаться с колонками, помеченными как ID, name, course_id и grade.

+-------+--------+-----------+-------+
| ID    | name   | course_id | grade |
+-------+--------+-----------+-------+
| 98988 | Tanaka | BIO-101   | A     |
| 98988 | Tanaka | BIO-301   | NULL  |
+-------+--------+-----------+-------+
2 rows in set (0.002 sec)
✨ Проверить решение и практиковаться

Резюме

Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более лабораториях в LabEx, чтобы улучшить свои навыки.