SQL 시작하기 튜토리얼 매...login
SQL 시작하기 튜토리얼 매뉴얼
작가:php.cn  업데이트 시간:2022-04-12 14:15:40

SQL 왼쪽 조인



SQL LEFT JOIN 키워드

LEFT JOIN 키워드는 오른쪽 테이블(table2)에 일치하는 항목이 없더라도 왼쪽 테이블(table1)의 모든 행을 반환합니다. 오른쪽 테이블에 일치하는 항목이 없으면 결과는 NULL입니다.

SQL LEFT JOIN 구문

SELECT column_name
FROM table1
LEFT JOIN table2
ON table1.column_name=table2.column_name;

또는

SELECT column_name
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name=table2 .column_name;

참고: 일부 데이터베이스에서는 LEFT JOIN을 LEFT OUTER JOIN이라고 합니다.

SQL LEFT JOIN


데모 데이터베이스

이 튜토리얼에서는 PHP 샘플 데이터베이스를 사용합니다.

다음은 "Websites" 테이블에서 선택된 데이터입니다:

+----+---------------+-- - ------------+-------+---------+
| 이름 | URL                                                          | 1 | 미국 |
| 2 | 타오바오 |
| 3 | CN |
| 4 | 웨이보 |
| 페이스북 | 7 | 스택오버플로우 | http://stackoverflow.com/ | 0 |
+----+-------------- -- -----+------+---------+

다음은 'access_log' 웹사이트 접속 기록 테이블의 데이터이다:

mysql> SELECT * FROM access_log;
+------+------ --- +-------+------------+
| 지원 사이트_ID 개수 |
+------+--- --- ---+-------+------------+
| 1 | 2016-05-10 |
| 3 | 2016-05-13 |
| 2016-05-14 | 5 | 2016년 5월 14일 |
| 2016년 5월 15일 | 220 | -05 -16 |
| 9 | 3 | 2016-05-17 |
+------+------+- -- ---------+
세트의 9개 행(0.00초)



SQL LEFT JOIN 예
다음 SQL 문은 모든 웹사이트와 해당 트래픽 볼륨(있는 경우)을 반환합니다.

다음 예에서는 Websites를 왼쪽 테이블로 사용하고 access_log를 오른쪽 테이블로 사용합니다.

SELECT 웹사이트.이름, access_log.count, access_log.date
웹사이트에서

LEFT JOIN access_log

ON Websites.id=access_log.site_id
ORDER BY access_log.count DESC;

위 SQL을 실행한 결과는 다음과 같습니다.

참고:
LEFT JOIN 키워드 오른쪽 테이블(access_log)에 일치하는 항목이 없더라도 왼쪽 테이블(웹사이트)의 모든 행을 반환합니다.