번역/MariaDB

[MariaDB Tutorial 번역] 11. Inner join

촌쥐 2021. 7. 5. 23:03

[MariaDB Tutorial 번역 글]

  1. Select : https://rural-mouse.tistory.com/43
  2. Order By : https://rural-mouse.tistory.com/44
  3. Where : https://rural-mouse.tistory.com/45
  4. Distinct : https://rural-mouse.tistory.com/46
  5. Between : https://rural-mouse.tistory.com/48
  6. Like : https://rural-mouse.tistory.com/49
  7. In : https://rural-mouse.tistory.com/50
  8. Limit : https://rural-mouse.tistory.com/51
  9. Is Null : https://rural-mouse.tistory.com/52
  10. Joins : https://rural-mouse.tistory.com/53
  11. Inner Join ←←
  12. Left Join : https://rural-mouse.tistory.com/55
  13. Group By : https://rural-mouse.tistory.com/56
  14. Having : https://rural-mouse.tistory.com/59
  15. Subqueries : https://rural-mouse.tistory.com/60
  16. Insert : https://rural-mouse.tistory.com/61
  17. Insert Multiple Rows : https://rural-mouse.tistory.com/62
  18. Insert Into Select : https://rural-mouse.tistory.com/63
  19. Update : https://rural-mouse.tistory.com/64

원문 : https://www.mariadbtutorial.com/mariadb-basics/mariadb-inner-join/

 

MariaDB Inner Join

In this tutorial, you will learn how to use the MariaDB inner join clause to query data from multiple tables.

www.mariadbtutorial.com


여기에 있는 모든 예제는 MariaDB sample database인 nation을 가지고 진행됩니다.

만약 읽고 따라 해 보시는 게 목적이라면 다운로드를 받고 읽어보시길 추천합니다.

원본 링크 : https://www.mariadbtutorial.com/getting-started/mariadb-sample-database/

 

MariaDB Sample Database

In this tutorial, you will learn about a MariaDB sample database nation and how to load the sample database into the MariaDB server.

www.mariadbtutorial.com


MariaDB의 Inner join 절에 대한 소개

inner join절은 여러 Table의 데이터를 쿼리(질의)할 수 있게 해주는 join의 유형 중 하나입니다.

inner join 절을 사용하여 두 Table t1 과 t2에서 데이터를 검색한다고 가정합니다. 다음은 inner join의 문법을 보여주는 예시입니다.

select select_list
from t1
inner join t2 on join_condition;

이 구문에서 inner join은 t1 Table의 각 Row마다 t2의 모든 Row와 비교를 합니다. 두 Row가 join_condition을 거쳤을때 True가 나온다면 inner join절은 양쪽의 테이블에서 나온 Row에서 파생된 Column을 새로 생성하고 그 Row를 Result set에 포함합니다.

다음은 inner join 연산의 다이어그램입니다.

inner join의 다이어그램

 

일반적으로 Table을 join 할때 Equal ( = )연산자를 사용하여 행을 일치시키고 t1의 primary key column과 t2의 foreign key column을 사용합니다. 

select select_list
from t1
inner join t2 on t1.column1 = t2.column1;

만약 Column이 동일한 이름을 가지고 있다면 using 문법을 사용할 수 있습니다.

select select_list
from t1
inner join t2 using (column1);

3개 이상의 Table을 join 해야한다면 다음처럼 inner join절을 추가 해주면 됩니다.

select select_list
from t1
inner join t2 on join_condition2
inner join t3 on join_condition2
...;

 

MariaDB의 inner join 절 예제

A) MariaDB에서 두개의 Table을 결합하기 위해 inner join하는 예제

다음 명령문은 inner join을 사용하여 countries와 regions Table의 데이터를 가져오려고 합니다.

select 
    c.name country, 
    r.name region
from countries c
inner join regions r 
    on r.region_id = c.region_id
order by c.name;

이 예제에서 양쪽 모두의 Table에 있는 region_id Column의 값이 매칭하는데 사용되었습니다.

두개의 Column 이름이 동일하기 때문에 using 문법을 사용해도 됩니다.

select 
    c.name country, 
    r.name region
from 
    countries c
inner join regions r using (region_id)
order by 
    c.name;

 

B) MariaDB에서 3개 이상의 Table을 결합하기 위해 inner join 하는 예제

샘플 데이터베이스에서 countires, regions, continents 이 3 Table을 사용합니다.

다음은 inner join절을 countires, regions, continents 이 3개의 Table에서 데이터를 가져오기 위한 예제입니다.

select 
    c.name country, 
    r.name region,
    t.name continent
from 
    countries c
inner join regions r using (region_id)
inner join continents t using (continent_id)
order by 
    c.name;

 

이번 튜토리얼에서는 여러개의 Table에서 데이터를 쿼리할때 사용하는 inner join 절을 배워봤습니다.

다음은 join 중 하나인 left join에 대해 조금 더 자세히 보겠습니다.