| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 카카오모먼트
- 네이버ai검색
- 온라인광고
- 카카오
- 마케터
- 네이버마케팅
- 네이버광고
- 네이버이슈
- SQL자격증
- DA광고
- 네이버
- GA4
- 네이버파워링크
- 마케터실무
- 비전공자SQLD
- 마케터공부
- 네이버업데이트
- 마케터용어
- SQLD
- 마케터자격증
- 마케팅
- 온라인마케터
- 온라인마케팅
- 자격증공부
- 디스플래이광고
- 마케팅이슈
- 마케팅자격증
- 네이버검색광고
- 비전공자마케터
- sqld시험
- Today
- Total
주케터의 메모장
[SQLD] 비전공자의 SQLD 공부 : STANDARD JOIN중 INNER JOIN에 대해 알아보자! 개념, 예제 풀어보기 본문
[SQLD] 비전공자의 SQLD 공부 : STANDARD JOIN중 INNER JOIN에 대해 알아보자! 개념, 예제 풀어보기
JOOKETER 2023. 7. 27. 12:11안녕하세요!
주케터입니다!

날씨가 너무너무 덥네요 ㅠ.ㅠ
더운 와중에도 SQLD공부는 놓칠 수 없죠!
오늘은 JOIN 쿼리에 대해 조금 배워보려고 해요
종류가 많아서 헷갈리는 JOIN!
함께 정리해보아요.
1. STANDARD JOIN (표준 조인)
1) INNER JOIN : JOIN 조건에 충족하는 데이터만 출력되는 방식,
JOIN 조건들은 ON 절을 사용하여 작성해야한다는 점이 독특합니다.
**단! NATURAL JOIN에서는 ON절 사용이 불가합니다.

예제를 한 번 풀어볼까요?
[SQL]
SELECT SUM(A.COL2) AS RESULT1,
COUNT(A.COL3) AS RESULT2,
COUNT(DISTINCT A.COL3) AS RESULT3
FROM SAMPLE A, SAMPLE2 B
WHERE A.COL1 = B.COL1 ;
FROM 절의 SAMPLE A, SAMPLE2 B 및 WHERE절의 A.COL1 = B.COL1 가 삽입 된 것으로 보아,
INNER JOIN함을 확인 할 수 있었습니다.
A.COL1을 기준으로 B.COL1과 동일한 데이터를 구하고,
SELECT 문에서 필요한 것을 구하면 되겠죠? 테이블을 봅시다.
[SAMPLE1 테이블]
| COL1 | COL2 | COL3 |
| 가 | 110 | A |
| 나 | 115 | A |
| 다 | 220 | NULL |
| 라 | 150 | B |
| 마 | 50 | NULL |
[SAMPLE2 테이블]
| COL1 | COL2 |
| 가 | 11 |
| 나 | 0 |
| 다 | 20 |
그럼 두 테이블을 INNER JOIN 해볼까요?(두 테이블에 공통적으로 존재하는 데이터만 출력됩니다.)
| COL1 | COL2 | COL3 | COL1 | COL2 |
| 가 | 110 | A | 가 | 11 |
| 나 | 115 | A | 나 | 0 |
| 다 | 220 | NULL | 다 | 20 |
보라색이 A 테이블, 푸른색이 B 테이블입니다.
A. COL1을 기준으로, B.COL1가 같다고 했기 때문에
A. COL1의 가나다가 B.COL1와 동일하여 합쳐졌습니다.
이제 SELECT 절을 풀어봅시다.
SELECT SUM(A.COL2) AS RESULT1, -->> A.COL2의 합계를 구해달라고 합니다. 110+115+220 = 445 입니다.
COUNT(A.COL3) AS RESULT2, -->> A.COL3의 갯수를 구해달라고 합니다.
NULL은 값으로 메기지 않기 때문에 2입니다.
COUNT(DISTINCT A.COL3) AS RESULT3 -->> 간만에 보이는 DISTINCT입니다.
이는 중복을 제거하라는 명령어입니다. 그럼 A가 두개있으니 하나는 사라지게 됩니다.
NULL값은 제외되기 때문에 1이됩니다.
정답은 그럼 하기와 같겠죠?
| RESULT1 | RESULT2 | RESULT3 |
| 445 | 2 | 1 |
오늘은 INNER JOIN에 대해 알아보았는데요.
다음에는 OUTER JOIN에 대해 알아보는 시간을 가지도록 할게요.
저도 처음 배우는거라 많이 부족하지만,
최선을 다해 작성해보겠습니다.
감사합니다.
그럼 안녕!

'TEST > SQLD' 카테고리의 다른 글
| [SQLD] 그룹 함수 ROLLUP,CUBE,GROUPING SETS 에 대해 알아보자! (0) | 2023.09.04 |
|---|---|
| [SQLD] 명령어 DROP/TRUNCATE/DELETE의 차이점에 대해 쉽게 알아보자! (0) | 2023.08.31 |
| [SQLD] 비전공자의 SQLD 공부 서브쿼리란 무엇일까?(스칼라,인라인,중첩) 참고 인강 有 (0) | 2023.08.17 |
| [SQLD] 비전공자의 SQLD 공부 : 반정규화(De-Normalization)에 대해 알아보자! (0) | 2023.08.10 |
| [SQLD] 비전공자의 SQLD 공부 : 함수 정의 및 예제 풀기(LTRIM,RTRIM,TRIM,SUBSTR,LENGTH) (0) | 2023.07.24 |