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- 둘 이상의 조인 된 테이블에서 레코드 집합의 데카르트 곱을 반환합니다.
이제 이러한 각 조인에 대해 자세히 설명하겠습니다.