SQL-조인 사용

SQL Joins절은 데이터베이스에있는 둘 이상의 테이블에서 레코드를 결합하는 데 사용됩니다. JOIN은 각각에 공통된 값을 사용하여 두 테이블의 필드를 결합하는 수단입니다.

다음 두 테이블을 고려하십시오-

Table 1 − CUSTOMERS 테이블

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

Table 2 − ORDERS 테이블

+-----+---------------------+-------------+--------+
|OID  | DATE                | CUSTOMER_ID | AMOUNT |
+-----+---------------------+-------------+--------+
| 102 | 2009-10-08 00:00:00 |           3 |   3000 |
| 100 | 2009-10-08 00:00:00 |           3 |   1500 |
| 101 | 2009-11-20 00:00:00 |           2 |   1560 |
| 103 | 2008-05-20 00:00:00 |           4 |   2060 |
+-----+---------------------+-------------+--------+

이제 다음과 같이 SELECT 문에서이 두 테이블을 조인하겠습니다.

SQL> SELECT ID, NAME, AGE, AMOUNT
   FROM CUSTOMERS, ORDERS
   WHERE  CUSTOMERS.ID = ORDERS.CUSTOMER_ID;

그러면 다음과 같은 결과가 생성됩니다.

+----+----------+-----+--------+
| ID | NAME     | AGE | AMOUNT |
+----+----------+-----+--------+
|  3 | kaushik  |  23 |   3000 |
|  3 | kaushik  |  23 |   1500 |
|  2 | Khilan   |  25 |   1560 |
|  4 | Chaitali |  25 |   2060 |
+----+----------+-----+--------+

여기서 WHERE 절에서 조인이 수행되는 것을 알 수 있습니다. =, <,>, <>, <=,> =,! =, BETWEEN, LIKE 및 NOT과 같은 여러 연산자를 사용하여 테이블을 조인 할 수 있습니다. 테이블을 결합하는 데 모두 사용할 수 있습니다. 그러나 가장 일반적인 연산자는 같음 기호입니다.

SQL에서 사용할 수있는 조인의 다른 유형이 있습니다-

  • INNER JOIN- 두 테이블에 일치하는 항목이 있으면 행을 반환합니다.

  • LEFT JOIN- 오른쪽 테이블에 일치하는 항목이없는 경우에도 왼쪽 테이블의 모든 행을 반환합니다.

  • RIGHT JOIN- 왼쪽 테이블에 일치하는 항목이없는 경우에도 오른쪽 테이블의 모든 행을 반환합니다.

  • FULL JOIN- 테이블 중 하나에 일치하는 항목이 있으면 행을 반환합니다.

  • SELF JOIN- 테이블이 두 테이블 인 것처럼 테이블을 자신에 조인하는 데 사용되며 SQL 문에서 적어도 하나의 테이블 이름을 일시적으로 변경합니다.

  • CARTESIAN JOIN- 둘 이상의 조인 된 테이블에서 레코드 집합의 데카르트 곱을 반환합니다.

이제 이러한 각 조인에 대해 자세히 설명하겠습니다.