生物学コースの卒業生検索

MySQLMySQLBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

このプロジェクトでは、特定の学部(この場合は生物学部)が提供するコースを履修している学生を検索する方法を学びます。これは、教員が学生の成績を計算する際に頻繁に行う必要がある一般的なタスクです。

👀 プレビュー

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)

🎯 タスク

このプロジェクトでは、以下のことを学びます。

  • sudo コマンドを使用してMySQLデータベースを起動し、アクセスする方法
  • SQLファイル (edusys.sql) をMySQLデータベースにインポートする方法
  • 複数のテーブル (student, course, および takes) を結合して必要な情報を取得するSQLクエリを書く方法
  • 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を起動してデータベースにアクセスする

このステップでは、パスワードなしで sudo コマンドを使用してMySQLデータベースを起動し、アクセスする方法を学びます。

  1. MySQLサービスを起動する:
sudo service mysql start
  1. sudo コマンドを使用してMySQLデータベースにアクセスする:
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クエリを書く

このステップでは、生物学部が提供するコースを履修しているすべての学生の学生ID、氏名、コースID、および成績を検索する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';

このクエリは、studentcourse、および takes テーブルを結合して、生物学部のコースを履修している学生に必要な情報を取得します。

SQLクエリを実行する

このステップでは、multiTableQuery.sql ファイルに格納されているSQLクエリを実行します。

  1. MySQLプロンプトにいることを確認する:
MariaDB [edusys]>
  1. SQLスクリプトを実行する:
MariaDB [edusys]> SOURCE /home/labex/project/multiTableQuery.sql;

クエリが実行され、結果のテーブルが IDnamecourse_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でさらに多くの実験を行って練習してください。