Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- unity게임
- c#문제
- 스파르타코딩클럽
- 시샵
- Console.WriteLine
- C#문법
- unity게임만들기
- c#기본문법
- 유니티
- 유니티게임만들기
- 오블완
- unity공부
- c#프로그래머스기초문법
- 시샵문법
- 유니티공부
- c#코딩기초트레이닝
- Unity
- 유니티상호작용
- 티스토리챌린지
- 유니티3dui
- c# c#프로그래머스
- unity3d게임만들기
- c#코테
- c#기초문법
- c#
- unity3d
- unity3dservival
- 유니티서바이벌게임만들기
- 스파르타
- c# 백준
Archives
- Today
- Total
나 개발자 진짜 되냐?
[ SQL_SELECT / UNION, JOIN을 못쓰는 이유 ] 오프라인/온라인 판매 데이터 통합하기 본문
역시.. 4단계는 다른가?
두 테이블을 합치기 위해 JOIN을 사용해서 문제를 풀었는데
도저히 안나와서 결국 인터넷을 보았다.. 흐흐
하지만 이문제는 JOIN이 아니라
UNION을 써야 한다고 한다
왜일까 하며..
표를 유심히 봤는데
ONLINE과 OFFLINE에서
겹치는 컬럼이 단 한 개도 없었다..
이름만 같았을 뿐....
그래서 이건 JOIN을 쓸 수 없었고
UNION에 대해 써야 한다고 한다.
UNION은 집합 연산자로
두 테이블을 연산해서 사용한다.
UNION은 두 개 쿼리를 합치면서 중복을 제외하고
UNION ALL은 두 개를 합치면서 중복도 포함한다 그래서 UNION보다 큰 값이 나올 때가 많다.
추가적으로 INTERSECT는 중복된 레코드만 뱉어내는 친구이고
MINUS는 차집합 느낌으로
첫 쿼리에는 있는데 두 번째에는 없는 친구 + 중복 빼고 이다.
앗 집합을 쓸 땐
두 개의 SELECT 개수가 같아야 한다.
그래서 질문에서 OFFLINE에 USER_ID는 NULL로 하라고 했으니
새로운 컬럼을 만들어서 USER_ID에 NULL 을 넣어준다.
NULL AS 컬럼
알아두자!
'SQL을 해보았어요!' 카테고리의 다른 글
[ SQL_JOIN / 서브쿼리 / ROUND / YEAR ] 상품을 구매한 회원 비율 구하기 - 깊은 해석 (0) | 2023.01.06 |
---|---|
[ SQL_JOIN ] 상품 별 오프라인 매출 구하기 (0) | 2023.01.06 |
[ SQL_SELECT / LIMIT ] 상위 n개 레코드 (0) | 2023.01.06 |
[ SQL_SELECT / LIKE ] 강원도에 위치한 생산공장 목록 출력하기 (0) | 2023.01.06 |
[ SQL_SELECT / DATA_FORMAT, MONTH ] 3월에 태어난 여성 회원 목록 출력하기 (0) | 2023.01.06 |