社員データの SQL 照会

SQLSQLBeginner
今すぐ練習

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

はじめに

このプロジェクトでは、SQLクエリを使用してデータベーステーブルからデータをフィルタリングして取得する方法を学びます。人事データベースの emp テーブルに格納されている従業員情報を照会するために、SELECTFROMWHERE、および LIMIT 句、ならびにさまざまな比較および論理演算子を使用する練習を行います。

👀 プレビュー

SQLクエリのプレビュー画像

🎯 タスク

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

  • 特定の従業員の職種と採用日情報を照会する方法
  • 特定の部署を除くすべての従業員情報を照会する方法
  • 給与のしきい値に基づいて従業員情報を照会する方法
  • 特定の職名の従業員情報を照会し、結果を制限する方法

🏆 成果

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

  • データベーステーブルからデータをフィルタリングして取得するためのSQLクエリの使い方を理解する
  • さまざまなSQL句と演算子を適用してデータ照会を微調整する
  • 特定のデータ取得要件を満たす効率的で効果的なSQLクエリを書く能力を示す

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sql(("SQL")) -.-> sql/BasicSQLCommandsGroup(["Basic SQL Commands"]) sql(("SQL")) -.-> sql/DataManipulationandQueryingGroup(["Data Manipulation and Querying"]) mysql(("MySQL")) -.-> mysql/DatabaseFunctionsandDataTypesGroup(["Database Functions and Data Types"]) mysql(("MySQL")) -.-> mysql/BasicKeywordsandStatementsGroup(["Basic Keywords and Statements"]) mysql/BasicKeywordsandStatementsGroup -.-> mysql/use_database("Database Selection") sql/BasicSQLCommandsGroup -.-> sql/select("SELECT statements") sql/BasicSQLCommandsGroup -.-> sql/insert("INSERT INTO statements") mysql/BasicKeywordsandStatementsGroup -.-> mysql/select("Data Retrieval") mysql/BasicKeywordsandStatementsGroup -.-> mysql/source("External Code Execution") sql/BasicSQLCommandsGroup -.-> sql/create_table("CREATE TABLE statements") sql/DataManipulationandQueryingGroup -.-> sql/where("WHERE clause") mysql/DatabaseFunctionsandDataTypesGroup -.-> mysql/database("DB Function - Info Retrieval") subgraph Lab Skills mysql/use_database -.-> lab-301336{{"社員データの SQL 照会"}} sql/select -.-> lab-301336{{"社員データの SQL 照会"}} sql/insert -.-> lab-301336{{"社員データの SQL 照会"}} mysql/select -.-> lab-301336{{"社員データの SQL 照会"}} mysql/source -.-> lab-301336{{"社員データの SQL 照会"}} sql/create_table -.-> lab-301336{{"社員データの SQL 照会"}} sql/where -.-> lab-301336{{"社員データの SQL 照会"}} mysql/database -.-> lab-301336{{"社員データの SQL 照会"}} end

MySQLを起動してデータをインポートする

このステップでは、MySQLサーバを起動して人事データベースのデータをインポートする方法を学びます。

  1. MySQLサーバを起動する:

    sudo /etc/init.d/mysql start
  2. MySQLターミナルにログインする:

    mysql -uroot
  3. personnel.sql のデータをMySQLデータベースにインポートする:

    SOURCE ~/project/personnel.sql

これで人事データベースが照会の準備ができました。

従業員「SMITH」の職種と採用日を照会する

このステップでは、SELECTFROM、および WHERE 句を使用して、emp テーブルから従業員「SMITH」の職種と採用日情報を照会する方法を学びます。

  1. 好きなテキストエディタを使って、/home/labex/project ディレクトリに answer.sql という名前の新しいファイルを作成します。
  2. answer.sql ファイルに以下のコードを追加します。
-- 従業員「SMITH」の職種情報 (`job`) と採用日 (`hiredate`) を照会する
SELECT job, hiredate FROM emp WHERE ename = 'SMITH';
  1. answer.sql ファイルを保存します。

部署20を除く従業員情報を照会する

このステップでは、SELECTFROM、および WHERE 句を != 演算子とともに使用して、部署番号20に属さないすべての従業員情報を照会する方法を学びます。

  1. answer.sql ファイルに以下のコードを追加します。
-- 部署番号 `deptno` 20に属さないすべての従業員情報を照会する
SELECT * FROM emp WHERE deptno!= 20;
  1. answer.sql ファイルを保存します。

給与が2000を超える従業員情報を照会する

このステップでは、SELECTFROM、および WHERE 句を > 演算子とともに使用して、給与が2000を超えるすべての従業員情報を照会する方法を学びます。

  1. answer.sql ファイルに以下のコードを追加します。
-- 給与 (`sal`) が2000を超えるすべての従業員情報を照会する
SELECT * FROM emp WHERE sal > 2000;
  1. answer.sql ファイルを保存します。

制限付きで営業従業員情報を照会する

このステップでは、SELECTFROMWHERE、および LIMIT 句を使用して、職種が「営業」のすべての従業員の情報を照会し、結果を3件に制限する方法を学びます。

  1. answer.sql ファイルに以下のコードを追加します。
-- 職種が「営業」のすべての従業員の情報を照会し、結果を3件に制限する
SELECT * FROM emp WHERE job = 'SALESMAN' LIMIT 3;
  1. answer.sql ファイルを保存します。

これでプロジェクトが完了しました。MySQLターミナルで answer.sql スクリプトを実行して結果を確認できます。

SOURCE ~/project/answer.sql
SQL照会結果のプレビュー
✨ 解答を確認して練習

まとめ

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