はじめに
このプロジェクトでは、人事データベースの従業員テーブル(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 にインポートする方法を学びます。
- MySQL サービスを起動する:
sudo service mysql start
sudoコマンドを使って MySQL にアクセスする:
sudo mysql
/home/labex/project/personnel.sqlのデータを MySQL にインポートし、personnelデータベースに切り替える:
MariaDB [(none)]> SOURCE /home/labex/project/personnel.sql;
SQL クエリを書く
このステップでは、personnel データベースの emp テーブルから関連情報を取得するための SQL クエリをどのように書くかを学びます。
multiple_line_function.sqlファイルを開きます。- 次の 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 クエリをどのように実行するかを学びます。
- 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 でさらに多くの実験を行って練習することができます。
