SELECT クエリからビューを作成する
このステップでは、SELECT
クエリから MySQL でビューを作成する方法を学びます。ビューは、SQL 文の結果セットに基づく仮想テーブルです。ビューは、複雑なクエリを簡素化し、データの複雑さを隠し、データアクセスに抽象化のレベルを提供するのに役立ちます。
まず、MySQL サーバーに接続しましょう。LabEx VM でターミナルを開きます。すでに ~/project
ディレクトリにいるはずです。
mysql -u root -p
パスワードの入力を求められたら、root パスワードを入力します。root パスワードを設定していない場合は、Enter キーを押してください。
次に、company
という名前のデータベースを作成しましょう。
CREATE DATABASE company;
次に、company
データベースに切り替えます。
USE company;
サンプルデータを持つ employees
という名前の単純なテーブルを作成しましょう。
CREATE TABLE employees (
id INT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
salary DECIMAL(10, 2),
department VARCHAR(50)
);
INSERT INTO employees (id, first_name, last_name, salary, department) VALUES
(1, 'John', 'Doe', 60000.00, 'Sales'),
(2, 'Jane', 'Smith', 75000.00, 'Marketing'),
(3, 'Robert', 'Jones', 50000.00, 'Sales'),
(4, 'Emily', 'Brown', 80000.00, 'Engineering'),
(5, 'Michael', 'Davis', 65000.00, 'Marketing');
次に、'Sales' 部門の従業員のみを表示する sales_employees
という名前のビューを作成しましょう。
CREATE VIEW sales_employees AS
SELECT id, first_name, last_name, salary
FROM employees
WHERE department = 'Sales';
この文は、sales_employees
という名前のビューを作成します。このビューは、employees
テーブルから id
、first_name
、last_name
、salary
列を選択しますが、department
が 'Sales' の行のみを対象とします。
ビューが作成されたことを確認するには、以下のように記述できます。
DESCRIBE sales_employees;
このコマンドは、テーブルを記述するのと同様に、sales_employees
ビューの構造を表示します。
また、通常のテーブルのようにビューをクエリすることもできます。
SELECT * FROM sales_employees;
これにより、employees
テーブルのデータに基づいて、Sales 部門のすべての従業員が表示されます。
+------+------------+-----------+----------+
| id | first_name | last_name | salary |
+------+------------+-----------+----------+
| 1 | John | Doe | 60000.00 |
| 3 | Robert | Jones | 50000.00 |
+------+------------+-----------+----------+
2 rows in set (0.00 sec)
これで、SELECT
クエリからビューを正常に作成しました。