Today I Learned
LEFT JOIN: A, B 테이블에서 공통적으로 겹치는 값을 조인한다. LEFT JOIN은 A테이블의 내용은 모두 다 가져오기 때문에 null값이 같이 표현될 수 있다.
ex) 한국 음식의 주문별 결제 수단과 수수료율을 조회하기
(조회 컬럼 : 주문 번호, 식당 이름, 주문 가격, 결제 수단, 수수료율) * 결제 정보가 없는 경우도 포함하여 조회
select 조회 할 칼럼 from 테이블1 a left join 테이블2 b on a.공통컬럼명 = b.공통컬럼명 |
INNER JOIN: A, B 테이블 둘 다 공유하는 값을 조인한다.
ex) 고객의 주문 식당 조회하기
(조회 컬럼 : 고객 이름, 연령, 성별, 주문 식당) * 고객명으로 정렬, 중복 없도록 조회
select 조회 할 칼럼 from 테이블1 a inner join 테이블2 on a.공통컬럼명 = b.공통컬럼명 |
SQL로 피벗테이블 만들기
피벗테이블이란 2개 이상의 기준으로 데이터를 집계할때, 보기 쉽게 배열하여 보여주는것을 말한다.
select 집계기준,
max(if(칼럼 조건)) "칼럼 이름", max(if(칼럼 조건)) "칼럼 이름", max(if(칼럼 조건)) "칼럼 이름" from ( select 조건 count(1) from 가져올 테이블 where 조건 group by 1 ) a group by 1 |
오늘의 오류
내가 만든 SQL의 결과 값과 강의에서 제시하는 결과 값이 다른 문제가 있었다.
처음에는 주문 금액 기준을 잘못 설정했나 하고 여러번 코드를 리뷰했는데 값이 수정되질 않았다.
어떻게 고쳤는가?
정답코드를 넣자 내 값과 똑같은 결과가 나왔다. 강의 촬영일로부터 시간이 흘러 데이터가 수정 된것이다.
간단한 문제였지만 내 코드가 잘못됐나 고민을 오래했다.
'TIL' 카테고리의 다른 글
TIL #6) 23.12.29 (0) | 2023.12.29 |
---|---|
TIL #5) JavaScript 기본 문법 (0) | 2023.12.28 |
TIL #3) 기본 SQL문 (0) | 2023.12.26 |
TIL #2) 헷갈리는 jQuery의 개념, 그리고 CDN이 대체 뭔데.. (0) | 2023.12.24 |
TIL #1) GIT & GIThub (0) | 2023.12.21 |