kyejin0412 님의 블로그

[TIL] Week 2-4 SQL 라이브세션 - UNION, JOIN1 / 파이썬 데이터 변수와 데이터 타입 / 직무세션 본문

내일배움캠프-데이터분석

[TIL] Week 2-4 SQL 라이브세션 - UNION, JOIN1 / 파이썬 데이터 변수와 데이터 타입 / 직무세션

kyejin0412 2025. 10. 30. 18:35

 

오늘은 꽤나 바빴다.... 매일 할 게 넘쳐나서 일주일이 정말 빠르게 간다!

SQL 라이브세션에서 UNION과 JOIN을 조금 배웠다. 알고 있던 개념이었지만 디테일을 잡아나가서 더더 좋았다. 역시 소현 튜터님... 프로그래머스 레벨 4 문제였는데 금방 풀려서 놀랐다. 물론 UNION을 써야한다는 것을 알고 있어서 그랬겠지만..~ 나도 모르게 성장하고 있긴 한가보다!! ㅎㅎ

다음주부터는 파이썬에 집중해야한다. 오늘부터 파이썬 강의를 듣기 시작했다. 파이썬은 오랜만인데 오늘 배운 변수와 데이터타입 강의는 쉬웠다. 계속 쉬웠으면 좋겠네~~ 알찬 하루였다!

 


[SQL 라이브세션]

1. UNION, UNION ALL

[기본 구조]
테이블
UNION (ALL)
테이블

 

  • 두 개 이상의 테이블 수직결합
  • 두 개 이상의 테이블의 결과를 한번에 보고 싶을 때.
  • 결합할 테이블의 컬럼 개수와 순서가 같고, 데이터 타입이 같아야 함
  • 컬럼 이름이 (AGE, AGE2)와 같이 다를 경우, 맨 위 SELECT절에 있는 컬럼명(AGE)으로 표시됨.

 

  • UNION : 중복 행 제거
  • UNION ALL : 중복 행 포함
# union/union all 기본구조
# 컬럼 개수와 순서가 같고, 그 데이터 타입이 같아야 함
# 각 컬럼의 이름은 달라도 상관없음 맨 위 SELECT 절 뒤에 있는 컬럼명으로 통일됨
 
select 컬럼1, 컬럼2, 컬럼3.. 
from 테이블명1
union (all) #수직결합 명시
select 컬럼1, 컬럼2, 컬럼3..
from 테이블명2

 

 

예시) 1월 데이터와 2월 데이터를 하나의 결과로 보고 싶을 때.

(컬럼 개수, 컬럼 순서, 데이터 형식 모두 동일한 것을 확인할 수 있음)

 

UNION 하기 전

 

UNION으로 수직결합 한 결과

 

2. JOIN

  • 두 개 이상의 테이블 수평결합

 

[JOIN 하는 방법]

1. 결합할 테이블에서 공통컬럼 찾기 - 테이블 간의 "연결고리"

 

  • 공통컬럼 : 두 테이블에서 공통으로 존재하는 컬럼 (내용, 데이터 형식 동일)
  • 공통컬럼 (같은 내용을 포함하고 있는 컬럼!!) 이 한 개 이상이면 JOIN 가능
  • 공통컬럼이 여러 개인 경우 : 예를 들어, 이름만 같은 경우 / 이름과 나이가 같은 경우 -> 원하는 만큼 조건 써서 JOIN하면 됨.
  • 컬럼 이름, 컬럼 순서와 공통컬럼의 값(행) 개수가 서로 달라도, 공통컬럼의 내용이 같으면(EX. 이름, 나라, 나이, 직업 등) JOIN 가능
  • JOIN 구문 위치는 테이블과 테이블 사이!
  • ON 절에 [TABLE A.공통컬럼 = TABLE B.공통컬럼 AND A.공통컬럼2 = TABLE B.공통컬럼2]  으로 JOIN 조건 주기
  • 조건이 여러 개일 때는 AND로 이어준다!
  • 테이블 두 개 이상 JOIN 가능!
  • 데이터 타입은 같은 걸 기본적으로 권장한다.
# JOIN 기본 구문
# 공통컬럼이 1개인 경우

select 컬럼1, 컬럼2..
from 테이블 a
join # join 종류 작성, JOIN = INNER JOIN
select 컬럼1, 컬럼2..
from 테이블 b
on a.공통컬럼=b.공통컬럼

---------------------------------------------------------------------------
# JOIN 기본 구문
# 공통컬럼이 2개 이상인 경우

select 컬럼1, 컬럼2
from 테이블 as a
join # join의 종류는 아래에서 설명할 예정입니다.
select 컬럼1, 컬럼2..
from 테이블 as b
on a.공통컬럼=b.공통컬럼 and a.공통컬럼2=b.공통컬럼2

 

3. JOIN 과 UNION 차이

JOIN: 수평결합. UNION: 수직결합

 

 

4. NULL로 채운 새로운 컬럼 만들기

SELECT NULL AS 컬럼명 -> 모두 NULL로 채워진 새로운 컬럼이 만들어짐

SELECT DATE_FORMAT(SALES_DATE,'%Y-%m-%d') AS SALES_DATE,
       PRODUCT_ID,
       USER_ID,
       SALES_AMOUNT
FROM ONLINE_SALE
WHERE SALES_DATE LIKE ('2022-03-%')
UNION
SELECT DATE_FORMAT(SALES_DATE,'%Y-%m-%d') AS SALES_DATE,
       PRODUCT_ID,
       NULL AS USER_ID, -- 예시!!
       SALES_AMOUNT
FROM OFFLINE_SALE
WHERE SALES_DATE LIKE ('2022-03-%')
ORDER BY SALES_DATE, PRODUCT_ID, USER_ID
;

 


 

[파이썬 강의]

 

파이썬 데이터타입

 

1. 나누기 연산자

  • / : 실수로 몫 반환
  • // : 정수로 몫 반환
  • % : 나머지 반환
  • abs() : 절댓값 반환
  • round() : 반올림한 결과 반환

 

2. 정수형(int) vs 실수형(float) / NaN

  • 정수형 : 소수점이 없는 숫자. 딱 떨어지는 숫자 (ex. 1,2,3,0,-1)
  • 실수형 : 그 외 모든 존재하는 숫자. 소수점이 있는 숫자 (ex. 12.0, 13.5)

 

[연산결과]

정수형과 정수형 -> 정수형 결과

실수형과 실수형 -> 실수형 결과

정수형과 실수형 -> 실수형 결과

정수형*실수형 -> 실수형

 

  • NaN(Not a Number) : 결측값 (missing value). 정의할 수 없는 수치값 (0으로 나누는 연산, 유효하지 않은 수학 연산 등)
    주로 수치형 데이터에서 발생한다. 데이터, 머신러닝 분야에서 자주 다룬다.

 

3. input()

사용자로부터 어떤 값을 입력받을 때 쓴다.

ex) input("값을 입력하세요! ")

 

 

4. int()

문자를 정수로, 실수를 정수로 바꿔주는 함수!

 

ex int('100') -> 100

int(17.6) -> 17

int(input("값을 입력하세요! ")) : 정수값 입력받을 때. int 함수 안 쓰면 문자로 인식함.

 


[직무세션 - 김차영 튜터님]

도메인 : 이건 싫다! 하는거 생각해보기

직무 : 영업, 물류, 품질관리, 마케팅, 인사 등 생각해보기

비전공자는 자격증으로 어필해도 좋다. 나는 빅분기가 없으니 따도 좋을듯 하다.

영어는 잘할수록 좋다. 영어 잘하는 데이터 분석가는 드물다.

 

프로젝트마다 내 역할, 해결한 문제 및 방법, 개선결과 등 메모해두기 -> 나중에 이력서, 면접 때 쓰임!

 


참고 링크

https://hongong.hanbit.co.kr/sql-%EA%B8%B0%EB%B3%B8-%EB%AC%B8%EB%B2%95-joininner-outer-cross-self-join/

 

SQL 기본 문법: JOIN(INNER, OUTER, CROSS, SELF JOIN)

조인은 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다. INNER JOIN(내부 조인)은 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다.OUTER JOIN(외부

hongong.hanbit.co.kr

https://velog.io/@gayeong39/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EC%98%A4%ED%94%84%EB%9D%BC%EC%9D%B8%EC%98%A8%EB%9D%BC%EC%9D%B8-%ED%8C%90%EB%A7%A4-%EB%8D%B0%EC%9D%B4%ED%84%B0-%ED%86%B5%ED%95%A9%ED%95%98%EA%B8%B0

 

[프로그래머스] 오프라인/온라인 판매 데이터 통합하기

예를 들어 ONLINE_SALE 테이블이 다음과 같고OFFLINE_SALE 테이블이 다음과 같다면결과는 다음과 같이 나와야 한다.

velog.io