[MariaDB Tutorial 번역 글]
- Select : https://rural-mouse.tistory.com/43
- Order By : https://rural-mouse.tistory.com/44
- Where : https://rural-mouse.tistory.com/45
- Distinct : https://rural-mouse.tistory.com/46
- Between : https://rural-mouse.tistory.com/48
- Like : https://rural-mouse.tistory.com/49
- In : https://rural-mouse.tistory.com/50
- Limit : https://rural-mouse.tistory.com/51
- Is Null : https://rural-mouse.tistory.com/52
- Joins : https://rural-mouse.tistory.com/53
- Inner Join : https://rural-mouse.tistory.com/54
- Left Join ←←
- Group By : https://rural-mouse.tistory.com/56
- Having : https://rural-mouse.tistory.com/59
- Subqueries : https://rural-mouse.tistory.com/60
- Insert : https://rural-mouse.tistory.com/61
- Insert Multiple Rows : https://rural-mouse.tistory.com/62
- Insert Into Select : https://rural-mouse.tistory.com/63
- Update : https://rural-mouse.tistory.com/64
원문 : https://www.mariadbtutorial.com/mariadb-basics/mariadb-left-join/
여기에 있는 모든 예제는 MariaDB sample database인 nation을 가지고 진행됩니다.
만약 읽고 따라 해 보시는 게 목적이라면 다운로드를 받고 읽어보시길 추천합니다.
원본 링크 : https://www.mariadbtutorial.com/getting-started/mariadb-sample-database/
MariaDB의 left join 절에 대한 소개
left join을 사용하여 t1, t2 두 개의 Table에서 데이터를 가져온다고 가정했을 때, 다음은 두 개의 Table을 결합하는 left join 문법입니다.
select select_list
from t1
left join t2 on join_condition;
이 구문에서 left join은 왼쪽 Table인 t1에서 데이터 선택을 시작하고 t1의 각 Row마다 t2의 모든 Row를 비교합니다.
만약 두 개의 Row가 join_condition에 의해서 True라면 left join은 양쪽의 테이블에서 나온 Row에서 파생된 Column을 새로 생성하고 그 Row를 Result set에 포함합니다.
만약 Row가 일치하지 않는 경우에도 left join은 양쪽의 테이블에서 나온 Row에서 파생된 Column을 새로 생성합니다. 그러나 오른쪽 Table Column의 값에는 null을 사용합니다.
다음은 left join 연산의 다이어그램입니다.
일반적으로 Table을 join 할 때 Equal ( = ) 연산자를 사용하여 행을 일치시키고 t1의 primary key column과 t2의 foreign key column을 사용합니다.
select select_list
from t1
left join t2 on t1.column1 = t2.column1;
만약 Column이 동일한 이름을 가지고 있다면 using 문법을 사용할 수 있습니다.
select select_list
from t1
left 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
...;
3개 이상의 Table을 join 해야한다면 다음처럼 inner join 절을 추가 해주면 됩니다.
select select_list
from t1
left join t2 on join_condition2
left join t3 on join_condition2
...;
MariaDB의 left join 절 예제
다음 명령문은 inner join을 사용하여 countries와 coutry_stats의 데이터를 가져오려고 합니다.
다음은 countries Table과 country_stats Table을 left join 하여 나라와 그 나라의 GDP를 찾는 예제입니다.
select
name,
year,
gdp
from
countries c
left join country_stats s on
s.country_id = c.country_id
order by
name;
다음은 using 문법을 사용한 동일한 쿼리문입니다.
select
name,
year,
gdp
from
countries
left join country_stats
using (country_id)
order by
name;
GDP 정보를 가지고 있지 않은 나라를 찾으려면 다음과 같이 쿼리문을 작성하면 됩니다.
select
name,
year,
gdp
from
countries
left join country_stats using (country_id)
where
gdp is null
order by
name;
이번 튜토리얼에서는 MariaDB의 여러개의 Table에서 데이터를 가져올 수 있는 left join 절에 대해 배워봤습니다.
다음에는 여러개의 Row를 하나의 Row로 묶어 줄 수 있는 Group By를 배워보겠습니다.
'번역 > MariaDB' 카테고리의 다른 글
[MariaDB Tutorial 번역] 14. Having (0) | 2021.07.08 |
---|---|
[MariaDB Tutorial 번역] 13. Group By (0) | 2021.07.06 |
[MariaDB Tutorial 번역] 11. Inner join (0) | 2021.07.05 |
[MariaDB Tutorial 번역] 10. Join (0) | 2021.07.03 |
[MariaDB Tutorial 번역] 9. Is Null (0) | 2021.07.02 |
댓글