DB & SQL/데이터 분석 SQL
-
데이터 분석 SQL - 서브 쿼리(Sub-query)DB & SQL/데이터 분석 SQL 2022. 10. 8. 16:30
서브쿼리(Sub-query) 개요 - 서브쿼리는 하나의 쿼리내에 또 다른 쿼리가 포함되어 있는 쿼리를 의미 - 서브쿼리는 메인 쿼리(Main Query)내에 포함되어 있는 관계 - Where절에 사용될 경우 복잡한 업무적인 조건을 직관적인 SQL로 표현하여 필터링하는데 주로 사용 select * from hr.emp where sal >= (select avg(sal) from hr.emp) 서브쿼리 유형 예시 Where 절에 사용되는 서브쿼리 - select * from hr.emp where sal >= (select avg(sal) from hr.emp) - select * from hr.emp_salary_hist a where todate = (select max(todate) from hr.e..
-
데이터 분석 SQL - Analytic SQL 집계(Aggregate) & Window 상세DB & SQL/데이터 분석 SQL 2022. 10. 7. 10:05
집계(Aggregate) Analytic SQL - sum(), max(), min(), avg(), count() 와 같은 집계 함수를 window를 이용하여 로우 레벨로 자유 자재로 집계할 수 있는 기능 제공 (인자1, ...) OVER ( [Partition 절] -- 그룹화 컬럼명 [Sorting 절]-- 정렬 컬럼명(Window 이동방향 기준 컬럼명) [window 절]-- Window 범위(Rows, Range) ) - 집계(aggregate) 계열 analytic 함수는 order by 절이 있을 경우 window절은 기본적으로 range unbounded preceding and current row 임 - 만약 order by 절이 없다고 window는 해당 partition의 모든 ro..
-
데이터 분석 SQL - Analytic SQL 개요와 순위DB & SQL/데이터 분석 SQL 2022. 10. 6. 17:43
Analytic SQL - Group by 집계 함수 차이 - Group by는 원본 데이터 집합의 레벨을 변경해서 적용 - Analytic SQL은 원본 데이터 집합의 레벨을 그대로 유지하면서 적용 - Window를 이용하여 Row 단위의 집합 연산 수행 가능 Analytic SQL 유형 및 사용법 유형 함수 순위/비율 함수 Rank, dense_rank, row_number, Percent_rank, cume_dist, ntile 집계(Aggregate) 함수 sum, max, min, avg, count ( distinct x ) Lead/Lag Lead, Lag First_value/Last_value First_value, Last_value Inverse Percentile Percentile..
-
데이터 분석 SQL - Group by와 집계 함수(Aggregate Function)DB & SQL/데이터 분석 SQL 2022. 10. 6. 10:29
Group by 이해 - Group by 절에 기술된 컬럼 값(또는 가공 컬럼값)으로 그룹화 한 뒤 집계(Aggregation) 함수와 함께 사용되어 그룹화된 집계정보를 제공 - Group by 절에 기술된 컬럼 값으로 반드시 1의 집합을 가지게 됨 - Select 절에는 Group by 절에 기술된 컬럼(또는 가공 컬럼)과 집계 함수만 사용될 수 있음 SELECT FROM WHERE GROUP BY -- group by 적용할 컬럼명 HAVING -- group by 결과의 filtering 조건 ORDER BY select deptno, sum(sal) as sum_salary from hr.emp where job != 'SALARYMAN' group by deptno having arg(sal) ..
-
데이터 분석 SQL - Date/Timestamp/Time/Interval 타입DB & SQL/데이터 분석 SQL 2022. 10. 3. 16:35
Date 일자로서 년, 월, 일 정보를 가짐. YYYY-MM-DD Timestamp 일자를 시간 정보까지 같이 가짐. YYYY-MM-DD HH24:MI:SS Time 오직 시간 정보만 가짐 HH24:MI:SS Interval 얼마나 걸렸는지의 정보 N days HH24:MI_SS 문자열을 Date, Timestamp로 변환 to_date('2022-01-01', 'yyyy-mm-dd') 2022-01-01 to_timestamp('2022-01-01', 'yyyy-mm-dd') 2022-01-01 00:00:00.000 +0900 to_timestamp('2022-01-01 14:36:52', 'yyyy-mm-dd hh24:mi:ss') 2022-01-01 14:36:52.000 +0900 Date, T..
-
데이터 분석 SQL - 조인(Join) : Outer조인, Non Equi조인, Cross조인DB & SQL/데이터 분석 SQL 2022. 9. 30. 11:30
조인 - 관계형 DB에서 가장 기본이자 중요한 기능 - 두개 이상의 테이블을 서로 연결하여 데이터를 추출 - 관계형 DB에서는 조인을 통해 서로 다른 테이블간의 정보를 원하는 대로 가져올 수 있음 조인 시 데이터 집합 레벨의 변환 - 1:M 조인 시 결과 집합은 M 집합의 레벨을 그대로 유지 ㆍ1집합 : unique, 고유하게 있다 ㆍM집합 : 중복건 조인 유형 - Inner Join , Outer join, Full Outer Join - inner 조인 : 동일하게 매칭되는 값(조인되는 값)만 뽑음 - Left(Outer) 조인 : 조인에서 빠지더라도 left table 있는 요소들은 가지고 오고 right 값은 null로 채운다. - Right(Outer) 조인 : 조인에서 빠지더라도 right t..