FlOWING SINI
액셀보다 쉽고 빠른 SQL - 데이터 연결하기 본문
1. 오늘 학습 키워드
- SUBQUERY
- JOIN (LEFT JOIN, INNER JOIN)
2. 오늘 학습 한 내용을 나만의 언어로 정리하기
<여러번의 연산을 한 번의 SQL문으로 수행하기> - Subquery


Subquery가 필요한 경우
- 여러번의 연산을 수행해야 할 때

ex) 음식 준비 시간이 25분보다 초과한 시간을 가져오가 - 조건문에 연산 결과를 사용해야 할 때
- 조건에 Query 결과를 사용하고 싶을 때
<조건문과 Subquery 결합>

*가장 가운데 있는 괄호를 먼저 보기
*중간 Query 구문만의 결과를 보고 싶으면 그 구문만 선택 후 실행

<복잡한 연산을 Subquery로 수행하기>


<필요한 데이터가 서로 다른 테이블에 있을 때 조회하기> - JOIN
- JOIN
- 액셀의 Vlookup과 유사

- 두 테이블이 공통으로 갖고 있는 컬럼으로 묶어주는 것

- JOIN 방법


- LEFT JOIN
공통 컬럼(키값)을 기준으로, 하나의 테이블에 값이 없더라도 조회되는 경우

- INNER JOIN
공통 컬럼(키값)을 기준으로, 두 테이블 모두에 있는 값만 조회되는 경우




- JOIN으로 두 테이블의 데이터 조회하기


*distinct를 사용해 중복 값을 없애줌
- JOIN으로 두 테이블의 값을 연산하기


3. 학습하며 겪었던 문제점 & 에러
1)
학습 과정에서 Subquery 사용 방법에 어려움을 느꼈다. 특히 이전에 학습했던 연산들을 함께 활용하여 응용하는 과정에서 어떤 위치에 Subquery를 작성해야 하는지 많이 헷갈렸다.
이를 해결하기 위해 다양한 예제를 풀어보며 Query의 실행 순서를 확인했다. 그 과정에서 Subquery가 독립적으로 실행된 후 그 결과를 Main Query에서 활용한다는 개념을 이해할 수 있었다. 다만 아직 개념이 완전히 정립되지는 않아 다양한 문제에 적용해보며 지속적으로 학습할 필요성이 있다고 느꼈다.
2)
학습 과정에서 LEFT JOIN과 INNER JOIN의 개념을 이론적으로는 이해하고 있었지만, 실제 문제에 적용할 때는 왜 해당 JOIN을 사용해야 하는지 명확하게 떠올리지 못해 어려움을 느꼈다.
이를 해결하기 위해 두 JOIN의 결과를 직접 비교하며 학습했고 각 JOIN이 반환하는 데이터의 차이를 이해할 수 있었다.
3)
학습 과정에서 SQL 수식이 점점 길어지고 복잡해질수록 어려움을 느꼈다. 특히 아직 다양한 구조문에 익숙하지 않은 상태에서 한 번에 많은 내용이 들어오다 보니 어떤 구조문을 사용해야 하는지 쉽게 떠올리지 못했다.
이를 해결하기 위해 이전에 학습했던 내용을 다시 살펴보고 현재 문제와 비교하며 학습했다. 또한 Query를 작은 단위로 나누어 해석하고 각 조건이 어떤 역할을 하는지 하나씩 확인해 보았다. 그 결과 복잡한 Query일수록 전체를 한 번에 이해하려 하기보다 단계별로 분석하는 것이 중요하다는 점을 알게 되었으며 이러한 개념을 확실히 익히기 위해서는 지속적인 학습이 필요하다고 느꼈다.
'PM TIL > Tech Lecture' 카테고리의 다른 글
| AI Literacy - AI의 기본 개념 이해 (0) | 2026.06.04 |
|---|---|
| 액셀보다 쉽고 빠른 SQL - SQL로 업무시간 단축하기 (0) | 2026.06.02 |
| 액셀보다 쉽고 빠른 SQL - 데이터 가공하기 (0) | 2026.05.19 |
| 액셀보다 쉽고 빠른 SQL - 데이터 분석하기 (0) | 2026.05.17 |
| 액셀보다 쉽고 빠른 SQL - 데이터 조회하기 (0) | 2026.05.13 |
