목차 1) 여러 개의 테이블을 세로로 결합하기 2) 여러 개의 테이블을 가로로 정렬하기 3) 조건 플래그를 0과 1로 표현하기 4) 계산한 테이블에 이름 붙여 재사용하기 5) 유사 테이블 만들기 1) 여러 개의 테이블을 세로로 결합하기 비슷한 구조를 가지는 테이블의 데이터를 일괄처리 하고 싶은 경우 UNION ALL 구문 사용해 여러 개의 테이블을 세로로 결합하면 좋음. 결합할 때는 테이블의 컬럼이 완전히 일치해야 하므로, 한쪽 테이블에만 존재하는 컬럼은 SELECT 구문으로 제외하거나, 디폴트 값을 줘야함. 추가로 결합 후의 데이터가 어떤 테이블의 데이터였는지 식별할 수 있게 열 추가 # app1_mst_users -> user_id, name, email # app2_mst_users -> user_..
목차 1) 그룹의 특징 잡기 2) 그룹 내부의 순서 3) 세로 기반 데이터를 가로 기반으로 변환하기 4) 가로 기반 데이터를 세로 기반으로 변환하기 1) 그룹의 특징 잡기 집약 함수 = 여러 레코드를 기반으로 하나의 값을 리턴하는 함수 테이블 전체의 특징량 계산하기 COUNT 함수 = 지정한 컬럼의 레코드 수를 리턴하는 함수 DISTINCT 구문 = 중복을 제외하고 수를 세어줌 SUM 함수 = 합계 AVG 함수 = 평균 SUM과 AVG는 컬럼의 자료형이 정수 또는 실수 등의 숫자 자료형이어야함 MAX/MIN 함수 = 최댓값, 최솟값. → 대소 비교 가능한 자료형(숫자, 문자열, 타임스탬프 등)에 적용할 수 있음. 그루핑한 데이터의 특징량 계산하기 GROUP BY 구문을 사용해 데이터 분류할 키를 지정하고..
목차 1) 문자열 연결하기 2) 여러개의 값 비교하기 3) 2개의 값 비율 계산하기 4) 두 값의 거리 계산하기 5) 날짜/시간 계산하기 6) IP 주소 다루기 1) 문자열 연결하기 #6-1 문자열을 연결하는 쿼리 SELECT user_id ,CONCAT(pref_name, city_name) AS pref_city # = ,pref_name || city_name AS pref_city (postgresql은 || 연산자도 가능) FROM mst_user_location ; #실행결과 user_id | pref_city ---------------------- U001 | 서울특별시강서구 대부분의 미들웨어에서 CONCAT 함수를 사용해 원하는 만큼의 문자열을 연결할 수 있음. 하지만 Redshift의 ..