MySQL データ分析

SQLBeginner

はじめに

このプロジェクトでは、人事データベースの従業員テーブル(emp)から関連情報を取得するために、MySQL の組み込み関数をどのように使用するかを学びます。関係データベース内のデータにアクセスして操作するための SQL クエリを書く練習を行います。

👀 プレビュー

MariaDB [personnel]> SOURCE /home/labex/project/multiple_line_function.sql;
+---------------+------------+------------+-------------+
| department_id | max_salary | min_salary | avg_salary  |
+---------------+------------+------------+-------------+
|            20 |    3000.00 |     800.00 | 2175.000000 |
|            10 |    5000.00 |    1300.00 | 2916.666667 |
+---------------+------------+------------+-------------+
2 rows in set (0.001 sec)

🎯 タスク

このプロジェクトで学ぶことは以下の通りです。

  • sudo コマンドを使ってパスワードなしで MySQL にアクセスする方法
  • SQL ファイルからデータを MySQL データベースにインポートする方法
  • 平均給与が 2000 以上の部署の部署番号、最大給与、最小給与、平均給与を取得し、結果を部署番号の降順にソートする SQL クエリを書く方法

🏆 成果

このプロジェクトを完了すると、以下のことができるようになります。

  • MySQL の組み込み関数を使って複雑なデータ分析を行う方法を理解する
  • 関係データベースからデータを取得して操作する SQL クエリを書く
  • SQL の知識を応用して現実世界のデータ管理問題を解決する

MySQL にアクセスしてデータをインポートする

このステップでは、パスワードなしで sudo コマンドを使って MySQL にアクセスし、/home/labex/project/personnel.sql のデータを MySQL にインポートする方法を学びます。

  1. MySQL サービスを起動する:
sudo service mysql start
  1. sudo コマンドを使って MySQL にアクセスする:
sudo mysql
  1. /home/labex/project/personnel.sql のデータを MySQL にインポートし、personnel データベースに切り替える:
MariaDB [(none)]> SOURCE /home/labex/project/personnel.sql;
✨ 解答を確認して練習

SQL クエリを書く

このステップでは、personnel データベースの emp テーブルから関連情報を取得するための SQL クエリをどのように書くかを学びます。

  1. multiple_line_function.sql ファイルを開きます。
  2. 次の SQL クエリをファイルに追加します。
SELECT deptno AS 'department_id', MAX(sal) AS'max_salary', MIN(sal) AS'min_salary', AVG(sal) AS 'avg_salary'
FROM emp
GROUP BY deptno
HAVING AVG(sal) >= 2000
ORDER BY deptno DESC;

このクエリは、平均給与が 2000 以上の部署の部署番号、最大給与、最小給与、平均給与を取得し、結果を部署番号の降順にソートします。

✨ 解答を確認して練習

SQL クエリを実行する

このステップでは、前のステップで書いた SQL クエリをどのように実行するかを学びます。

  1. MySQL プロンプトを開きます。
MariaDB [personnel]> SOURCE /home/labex/project/multiple_line_function.sql;

これにより、SQL クエリが実行され、MySQL プロンプトに結果が表示されます。

出力は以下に似たものになるはずです。

+---------------+------------+------------+-------------+
| department_id | max_salary | min_salary | avg_salary  |
+---------------+------------+------------+-------------+
|            20 |    3000.00 |     800.00 | 2175.000000 |
|            10 |    5000.00 |    1300.00 | 2916.666667 |
+---------------+------------+------------+-------------+
2 rows in set (0.001 sec)

おめでとうございます!あなたは無事にこのプロジェクトを完了しました。

✨ 解答を確認して練習

まとめ

おめでとうございます!このプロジェクトを完了しました。あなたの技術を向上させるために、LabEx でさらに多くの実験を行って練習することができます。