3 | 2022-03-01 |

### Output Tables

**Customers:**

| id | name | email | age |
| --- | --- | --- | --- |
| 1 | John Doe | [john.doe@example.com](mailto:john.doe@example.com) | 31 |
| 2 | Jane Smith | [jane.smith@example.com](mailto:jane.smith@example.com) | 25 |
| 3 | Bob Johnson | [bob.johnson@example.com](mailto:bob.johnson@example.com) | 40 |
| 4 | Alice Brown | [alice.brown@example.com](mailto:alice.brown@example.com) | 50 |
| 5 | Mark Smith | [mark.smith@example.com](mailto:mark.smith@example.com) | 27 |

**Orders:**

| id | customer\_id | order\_date |
| --- | --- | --- |
| 1 | 1 | 2022-02-01 |
| 2 | 2 | 2022-02-05 |
| 3 | 1 | 2022-02-10 |
| 4 | 3 | 2022-03-01 |
| 5 | 5 | 2022-03-15 |

Views
-----

A view is a virtual table that does not store data itself but instead retrieves it from one or more other tables. Views can be used to simplify complex queries or to hide sensitive data. To create a view, use the `CREATE VIEW` statement. For example:
```sql
CREATE VIEW customer_orders AS
SELECT customers.name, orders.order_date
FROM customers
JOIN orders ON customers.id = orders.customer_id;
```
This statement creates a view called `customer_orders` that shows the name of each customer along with the date of each order they have placed.

### Input Tables

**Customers:**

| id | name | email | age |
| --- | --- | --- | --- |
| 1 | John Doe | [john.doe@example.com](mailto:john.doe@example.com) | 31 |
| 2 | Jane Smith | [jane.smith@example.com](mailto:jane.smith@example.com) | 25 |
| 3 | Bob Johnson | [bob.johnson@example.com](mailto:bob.johnson@example.com) | 40 |
| 4 | Alice Brown | [alice.brown@example.com](mailto:alice.brown@example.com) | 50 |

**Orders:**

| id | customer\_id | order\_date |
| --- | --- | --- |
| 1 | 1 | 2022-02-01 |
| 2 | 2 | 2022-02-05 |
| 3 | 1 | 2022-02-10 |
| 4 | 3 | 2022-03-01 |

### Output Table

| name | order\_date |
| --- | --- |
| John Doe | 2022-02-01 |
| Jane Smith | 2022-02-05 |
| John Doe | 2022-02-10 |
| Bob Johnson | 2022-03-01 |

Stored Procedures
-----------------

A stored procedure is a set of SQL statements that are stored in the database and can be executed by calling the procedure by name. Stored procedures can be used to simplify complex operations or to enforce business rules. To create a stored procedure, use the `CREATE PROCEDURE` statement. For example:
```sql
CREATE PROCEDURE get_customer_orders (IN customer_id INT)
BEGIN
  SELECT *
  FROM orders
  WHERE customer_id = customer_id;
END;
```
This statement creates a stored procedure called `get_customer_orders` that takes an input parameter `customer_id` and returns all the orders placed by the customer with that ID.

### Input Table

**Orders:**

| id | customer\_id | order\_date
| 2022-03-01 |

### 출력 테이블

**고객:**

| 아이디 | 이름 | 이메일 | 나이 |
| --- | --- | --- | --- |
| 1 | John Doe | [john.doe@example.com](mailto:john.doe@example.com) | 31 |
| 2 | Jane Smith | [jane.smith@example.com](mailto:jane.smith@example.com) | 25 |
| 3 | 밥 존슨 | [bob.johnson@example.com](mailto:bob.johnson@example.com) | 40 |
| 4 | 앨리스 브라운 | [alice.brown@example.com](mailto:alice.brown@example.com) | 50 |
| 5 | 마크 스미스 | [mark.smith@example.com](mailto:mark.smith@example.com) | 27 |

**주문:**

| ID | 고객\_ID | 주문\_일 |
| --- | --- | --- |
| 1 | 1 | 2022-02-01 |
| 2 | 2 | 2022-02-05 |
| 3 | 1 | 2022-02-10 |
| 4 | 3 | 2022-03-01 |
| 5 | 5 | 2022-03-15 |

조회수
-----

뷰는 데이터 자체를 저장하지 않고 대신 하나 이상의 다른 테이블에서 데이터를 검색하는 가상 테이블입니다. 뷰는 복잡한 쿼리를 단순화하거나 민감한 데이터를 숨기는 데 사용할 수 있습니다. 뷰를 만들려면 `CREATE VIEW` 문을 사용합니다. 예를 들어
```sql
CREATE VIEW customer_orders AS
SELECT customers.name, orders.order_date
FROM customers
JOIN orders ON customers.id = orders.customer_id;
```
이 문은 각 고객의 이름과 주문한 각 주문의 날짜를 표시하는 'customer_orders`라는 뷰를 만듭니다.

### 입력 테이블

**Customers:**

| ID | 이름 | 이메일 | 나이 |
| --- | --- | --- | --- |
| 1 | John Doe | [john.doe@example.com](mailto:john.doe@example.com) | 31 |
| 2 | Jane Smith | [jane.smith@example.com](mailto:jane.smith@example.com) | 25 |
| 3 | 밥 존슨 | [bob.johnson@example.com](mailto:bob.johnson@example.com) | 40 |
| 4 | 앨리스 브라운 | [alice.brown@example.com](mailto:alice.brown@example.com) | 50 |

**주문:**

| ID | 고객\_ID | 주문\_날짜 |
| --- | --- | --- |
| 1 | 1 | 2022-02-01 |
| 2 | 2 | 2022-02-05 |
| 3 | 1 | 2022-02-10 |
| 4 | 3 | 2022-03-01 |

### 출력 테이블

| 이름 | 주문\_날짜 |
| --- | --- |
| John Doe | 2022-02-01 |
| Jane Smith | 2022-02-05 |
| 신원 미상인 | 2022-02-10 |
| 밥 존슨 | 2022-03-01 |

저장된 절차
-----------------

저장 프로시저는 데이터베이스에 저장되어 있으며 이름으로 프로시저를 호출하여 실행할 수 있는 SQL 문 집합입니다. 저장 프로시저는 복잡한 작업을 단순화하거나 비즈니스 규칙을 적용하는 데 사용할 수 있습니다. 저장 프로시저를 만들려면 `CREATE PROCEDURE` 문을 사용합니다. 예를 들어
```sql
CREATE PROCEDURE get_customer_orders (IN customer_id INT)
BEGIN
  SELECT *
  FROM orders
  WHERE customer_id = customer_id;
END;
```
이 문은 입력 매개변수 'customer_id'를 받아 해당 ID를 가진 고객이 주문한 모든 주문을 반환하는 `get_customer_orders`라는 저장 프로시저를 생성합니다.

### 입력 테이블

**Orders:**

| id | 고객\_id | 주문\_date