Alice Brown | [alice.brown@example.com](mailto:alice.brown@example.com) | 50 |

Deleting Data
-------------

To delete data from a table, use the `DELETE` statement followed by the table to delete from. You can also use the `WHERE` clause to delete only certain rows. For example:
```sql
DELETE FROM customers
WHERE age > 40;
```
This statement deletes all rows from the `customers` table where the `age` is greater than `40`.

### Input Table

| 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 |

### Output Table

| 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 |

Joining Tables
--------------

To combine data from two or more tables, use the `JOIN` keyword followed by the name of the second table and the `ON` keyword followed by the condition that links the tables. For example:
```vbnet
SELECT customers.name, orders.order_date
FROM customers
JOIN orders
ON customers.id = orders.customer_id;
```
This statement retrieves the `name` column from the `customers` table and the `order_date` column from the `orders` table, where the `id` column in the `customers` table matches the `customer_id` column in the `orders` table.

### 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 |

Subqueries
----------

A subquery is a query nested inside another query. You can use subqueries to retrieve data from one table based on the results of another query. For example:
```sql
SELECT name
FROM customers
WHERE id IN (
  SELECT customer_id
  FROM orders
  WHERE order_date > '2022-02-15'
);
```
This statement retrieves the `name` column from the `customers` table where the `id` is in a subquery that retrieves the `customer_id` from the `orders` table where the `order_date` is greater
lice Brown | [alice.brown@example.com](mailto:alice.brown@example.com) | 50 |

데이터 삭제
-------------

테이블에서 데이터를 삭제하려면 `DELETE` 문 뒤에 삭제할 테이블을 사용합니다. 어디` 절을 사용하여 특정 행만 삭제할 수도 있습니다. 예를 들어
```sql
DELETE FROM customers
WHERE age > 40;
```
이 문은 'customers` 테이블에서 'age'가 '40'보다 큰 모든 행을 삭제합니다.

### 입력 테이블

| 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@example.com](mailto:bob.johnson@example.com) | 40 |
| 4 | Alice Brown | [alice.brown@example.com](mailto:alice.brown@example.com) | 50 |

### 출력 테이블

| 아이디 | 이름 | 이메일 | 나이 |
| --- | --- | --- | --- |
| 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 |

테이블 조인
--------------

두 개 이상의 테이블에서 데이터를 결합하려면 `JOIN` 키워드 뒤에 두 번째 테이블의 이름과 `ON` 키워드 뒤에 테이블을 연결하는 조건을 사용합니다. 예
```vbnet
SELECT customers.name, orders.order_date
FROM customers
JOIN orders
ON customers.id = orders.customer_id;
```
이 문은 `customers` 테이블에서 `name` 열을, `orders` 테이블에서 `order_date` 열을 가져오는데, 여기서 `customers` 테이블의 `id` 열은 `orders` 테이블의 `customer_id` 열과 일치합니다.

### 입력 테이블

**고객:**

| 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 |
| Bob Johnson | 2022-03-01 |

하위 쿼리
----------

하위 쿼리는 다른 쿼리 안에 중첩된 쿼리입니다. 하위 쿼리를 사용하여 다른 쿼리의 결과를 기반으로 한 테이블에서 데이터를 검색할 수 있습니다. 예를 들어
```sql
SELECT name
FROM customers
WHERE id IN (
  SELECT customer_id
  FROM orders
  WHERE order_date > '2022-02-15'
);
```
이 문은 'order_date'가 더 큰 'orders` 테이블에서 'customer_id'를 검색하는 하위 쿼리에서 'id'가 있는 'customers` 테이블에서 'name` 열을 검색합니다.