[sql] 데이터베이스 뷰를 사용하여 데이터를 연결하는 방법은 어떻게 되나요?

데이터베이스 뷰(view)는 SQL 쿼리의 결과를 가상의 테이블로 나타내는 객체입니다. 데이터베이스 뷰를 사용하면 여러 개의 테이블이나 쿼리 결과를 단일 뷰로 연결하여 손쉽게 데이터를 조회할 수 있습니다.

데이터베이스 뷰를 생성하는 방법은 다음과 같습니다:

CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table1
JOIN table2 ON ...
WHERE condition;

위의 예제에서는 view_name이라는 이름의 뷰를 생성하며, SELECT 문을 사용하여 필요한 열들을 선택합니다. 테이블은 FROM 절과 JOIN 절을 사용하여 연결하고, 조건은 WHERE 절을 사용하여 지정합니다.

데이터베이스 뷰를 사용하여 데이터를 연결하는 예제를 살펴보겠습니다:

CREATE TABLE orders (
  order_id INT,
  customer_id INT,
  product_id INT
);

CREATE TABLE customers (
  customer_id INT,
  customer_name VARCHAR(100)
);

CREATE TABLE products (
  product_id INT,
  product_name VARCHAR(100)
);

INSERT INTO orders VALUES (1, 1, 1);
INSERT INTO orders VALUES (2, 1, 2);
INSERT INTO orders VALUES (3, 2, 1);

INSERT INTO customers VALUES (1, 'John');
INSERT INTO customers VALUES (2, 'Jane');

INSERT INTO products VALUES (1, 'Apple');
INSERT INTO products VALUES (2, 'Banana');

CREATE VIEW order_details AS
SELECT orders.order_id, customers.customer_name, products.product_name
FROM orders
JOIN customers ON orders.customer_id = customers.customer_id
JOIN products ON orders.product_id = products.product_id;

위의 예제에서는 orders, customers, products 테이블을 생성하고 적절한 데이터를 삽입합니다. 그리고 order_details라는 뷰를 생성하여 orders, customers, products 테이블을 연결합니다.

이제 order_details 뷰를 사용하여 데이터를 조회할 수 있습니다:

SELECT * FROM order_details;

이렇게 데이터베이스 뷰를 사용하여 여러 개의 테이블이나 쿼리 결과를 연결하면 데이터를 효율적으로 관리하고 조회할 수 있습니다. 또한 데이터베이스 구조를 보다 깔끔하게 정리하는 데에도 도움이 됩니다.

참고 자료: