Latest web development tutorials

SQL 연결 (가입)

SQL은 두 개 이상의 테이블에서 행을 가입 할 수 있습니다.


SQL은 가입

테이블 사이의 공통 필드를 기반으로, 두 개 이상의 테이블에서 행에 절을하는 SQL JOIN.

가장 일반적인 유형은 가입 : SQL INNER은 가입 (간단한 가입). SQL INNER는 반환에게 여러 테이블에서 조건을 만족하는 모든 행을 조인.

데모 데이터베이스

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

다음은 선택 "웹 사이트"의 테이블 데이터이다 :

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
| 3  | 本教程      | http://www.w3big.com/    | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
| 7  | stackoverflow | http://stackoverflow.com/ |   0 | IND     |
+----+---------------+---------------------------+-------+---------+

여기에 데이터 "ACCESS_LOG"웹 사이트 액세스 레코드 테이블은 다음과 같습니다

mysql> SELECT * FROM access_log;
+-----+---------+-------+------------+
| aid | site_id | count | date       |
+-----+---------+-------+------------+
|   1 |       1 |    45 | 2016-05-10 |
|   2 |       3 |   100 | 2016-05-13 |
|   3 |       1 |   230 | 2016-05-14 |
|   4 |       2 |    10 | 2016-05-14 |
|   5 |       5 |   205 | 2016-05-14 |
|   6 |       4 |    13 | 2016-05-15 |
|   7 |       3 |   220 | 2016-05-15 |
|   8 |       5 |   545 | 2016-05-16 |
|   9 |       3 |   201 | 2016-05-17 |
+-----+---------+-------+------------+
9 rows in set (0.00 sec)

테이블 "SITE_ID"필드 "ACCESS_LOG" "웹 사이트"테이블 "ID"열 점을 유의하시기 바랍니다. "SITE_ID"열 연결하여 위의 두 테이블.

그런 다음, 우리는 (내부 조인 포함) 다음과 같은 SQL 문을 실행하는 경우 :

Websites.id, Websites.name, access_log.count, access_log.date를 선택
웹 사이트에서
INNER는 ACCESS_LOG 가입
Websites.id = access_log.site_id ON;

출력 결과는 다음과 같습니다 위의 SQL을 실행합니다 :



다른 SQL은 가입

우리가 예를 설명하기 위해 계속 전에, 다른 SQL이 사용할 수있는 유형을 가입 목록을 보자 :

  • INNER은 조인 테이블이 적어도 하나의 일치가있는 경우, 다음 행을 리턴
  • 왼쪽은 가입 : 오른쪽 테이블에 일치하는 항목이없는 경우에도, 또한 왼쪽 테이블의 모든 행을 반환
  • RIGHT 조인 일치 왼쪽 테이블이없는 경우에도, 또한 오른쪽 테이블의 모든 행을 반환
  • FULL 가입 : 경기가 테이블 그냥 하나, 그것은 행을 반환