join 6

[분석실습] SQL 서브쿼리(SUBQUERY), 서브쿼리 예시

안녕하세요. 이번 포스팅에서는, SQL의 꽃이라 불리는 서브쿼리를 준비했습니다. 실무 데이터 분석을 하신다면 꼼꼼히 봐주세요 서브쿼리 하나의 sql문에 포함되어있는 또다른 sql문 주요 서브쿼리 위치 : from절 서브쿼리는 언제 사용할까요? 하나의 sql문으로 풀 수 없는 조금 더 복잡한 데이터를 추출할 때! depth1, depth2 이런식이죠 예시로 함께 이해해보겠습니다 1. 2개 이상의 상품을 구매한 고객은, 주로 어떤 상품을 구매했을까요? 위 문제는 한번에 구하기 어렵습니다 지금까지 배운것으로 진행해보자면 1) 2개 이상의 상품을 구매한 고객 아래와 같이 구할 수 있습니다 여기에 having절을 추가해서 2개 이상의 상품을 구매한 고객을 추출합니다 select hcrc.custid , count..

IT_SQL 2021.11.17

[분석실습] SQL 데이터 사칙연산 심화 (날짜변환, 연산, 고유값)

안녕하세요. 이번 포스팅에서는, SQL의 사칙연산 심화 구문들을 준비했습니다. 실무 데이터 분석을 하신다면 꼼꼼히 봐주세요 사칙연산 심화 거래데이터, 고객데이터를 이용해서 인당 평균 구매 수량과 금액을 구해보겠습니다 1. 인당 구매수량 (상품코드 goodcd의 갯수를 세어서 계산. 한번의 거래row에 상품을 1개씩만 샀다고 가정) select htrc.custid , count(goodcd) --상품코드 갯수->상품갯수 from hds_transactions_rea_csv htrc join hds_customers_rea_csv hcrc on htrc.custid = hcrc.custid group by 1 고객별로 몇개의 상품을 샀는지 확인할 수 있습니다 *고객 수 아래처럼 고객 id를 세어보면 136..

IT_SQL 2021.11.16

[분석 실전] SQL JOIN 주의사항. duplication, 중복 키!

안녕하세요. 이번 포스팅에서는, JOIN에서 주의할 구문들을 준비했습니다. 실무 데이터 분석을 하신다면 꼼꼼히 봐주세요 join의 주의사항 1. 행 중복 사례 조인 키에 특정테이블에 중복값이 있으면, 조인 결과 중복이 발생합니다 (따로 오류로 뜨지 x.) SQL오류창에서 알려주지 않으니 꼭 주의! 테이블의 듀플리케이션(duplication) (;듑이라고 보통 말합니다) key가 유니크한지 꼭 확인해야합니다 직접 보여드릴게요 ex> 위 테이블1, 2의 join결과는? 중복되는 key 33이 두번 나옵니다. 꼭 유의해야합니다 * 참고로, key칼럼이 두번나왔죠. 중복되는 칼럼과 테이블은 조건절에 명시하거나, 으로 명시해줍니다 select id, "name" , d."key" , test from dup d ..

IT_SQL 2021.11.06

[분석 실전] SQL JOIN 심화(2). join 종류와 구문 팁! inner join, left join~

안녕하세요. 이번 포스팅에서는, JOIN을 통해서 여러 테이블을 연결하는 구문 상세팁을 준비했습니다. 실무 데이터 분석을 하신다면 꼼꼼히 봐주세요 JOIN 구문 종류! 앞 포스팅에서 KEY 값이 null인 경우에는, 해당 행이 삭제된다고 말씀드렸죠? 하지만, JOIN 에도 여러 유형이 있습니다 1. Inner Join(대표적인 join) 결과 : 두개 테이블 모두 공통으로 존재하는 행만 남음 필요 : 두개 테이블에 join키가 빠짐없이 둘다 존재할 때 2. Left Join 결과 : 왼쪽 테이블을 기준으로 오른쪽 테이블에 조인되는 값이 없는 경우에는 null로 표기됨 필요 : 한개 이상의 테이블에 join key에 null값이 있거나, 테이블1에 있는값이 테이블2에 없을때 사용 ex> key를 날려버리면..

IT_SQL 2021.11.04

[분석 실전] SQL JOIN 심화. where절 추가하기, 테이블 연결하기 구문 팁!

안녕하세요. 이번 포스팅에서는, JOIN을 통해서 여러 테이블을 연결하는 구문 상세팁을 준비했습니다. 실무 데이터 분석을 하신다면 꼼꼼히 봐주세요 JOIN 꿀팁! 1. 구매 고객 성별에 따른 매출액 분석 (구매금액 높은 순으로 내림차순) transaction 테이블과 customer 테이블을 join합니다! select cc.sex, sum(tot_amt) as sum_tot_amt from transactions_amt_csv tac join customers_csv cc on tac.custid =cc.custid group by 1 order by 2 desc 성별=2(여성)의 매출액이 더 높네요(매출액별로 내림차순 정렬을 추가했습니다) 2. 성별, 생년별 매출액 구하기 (매출액 높은순으로 내림차순..

IT_SQL 2021.11.03

[분석 실전] SQL JOIN 들어가기. 테이블 연결하기 구문 팁!

안녕하세요. 이번 포스팅에서는, JOIN을 통해서 여러 테이블을 연결하는 구문 상세팁을 준비했습니다. 실무 데이터 분석을 하신다면 꼼꼼히 봐주세요 JOIN 꿀팁! [준비] 분석에 사용하실 실전용 테이블을 준비해주세요. 1. 테이블 import DB 하위항목 클릭 -> 스키마 -> 퍼블릭 -> 테이블에서 우클릭 ->데이터가져오기 - 컬럼이 모두 들어왔는지 확인하고 Columns클릭 -> 컬럼이 올바른 형태로 들어왔는지 확인 다음-다음-start. 모두 올바르게 db로 import되었습니다 select-from 절을 활용해서 확인해볼까요? 다 잘들어왔습니다 다음으로 위와 같은 방법으로 join에 활용할 transaction 데이터도 불러옵니다 tip! 같은 key(같은 칼럼)가 있는 테이블을 가져와주세요 모..

IT_SQL 2021.10.30