본문 바로가기

SQL14

[HIVE] 기초 문법 정리 [ 공통 사항 ] IF EXISTS : xx가 존재하면 적용 데이터 조회 SELECT ~ FROM :: 데이터 조회 -- 데이터 조회 SELECT * FROM my_table -- 전체 데이터 조회 SELECT col_1, col_2 FROM my_table -- 열 지정하여 데이터 조회 WHERE :: 조건 지정하여 데이터 조회 -- 조건 지정하여 데이터 조회 SELECT * FROM my_table WHERE col_1 >= 10 -- 조건 GROUP BY :: 집계 count, sum, avg, min, max 등의 집계함수를 사용할 때 그룹을 묶어주는 기준이 된다. 집계함수가 적용되는 열 이외의 열에 GROUP BY를 해주지 않으면 오류가 발생한다. -- 집계 SELECT col_1, count(.. 2021. 11. 16.
[HIVE] map에 있는 key 조회하기 map_keys(열 이름) : map에 있는 key 목록 조회하기 SELECT map_keys(열 이름) FROM table id keys 1 ["key11","key12","key13"] 2 ["key21","key22","key13"] 참고 2021. 11. 15.
[MSSQL] Draw The Triangle 1 :: 별 그리기 / 역삼각형 그리기 https://www.hackerrank.com/challenges/draw-the-triangle-1/problem Draw The Triangle 1 | HackerRank Draw the triangle pattern using asterisks. www.hackerrank.com DECLARE @NUM INT, @TIME INT -- 변수 선언 SET @NUM = 20 SET @TIME = 0 WHILE @NUM>@TIME -- 20이 1이 될 때까지 BEGIN SELECT REPLICATE('* ', @NUM) -- NUM만큼 '* '을 출력 SET @NUM = @NUM-1 -- NUM이 하나씩 내려가도록 END; REPLICATE('Text', 반복횟수) : 문자열 반복 반복문으로 풀었다. S.. 2021. 5. 15.
[HIVE] 날짜 더하기 & 빼기 :: date_add, date_sub date_add(날짜, 계산일수) : 날짜 더하기 date_sub(날짜, 계산일수) : 날짜 빼기 예시 ) index_date를 기준으로 30일 전/후 날짜를 뽑아보았다. SELECT indexing_date as index_date , date_sub(indexing_date, 30) as before_30 , date_add(indexing_date, 30) as after_30 FROM table_name 참고) string > date mizykk.tistory.com/90 [HIVE] date_format 다루기 :: 날짜함수 date_format(날짜, 형식) : 하이브에서 date_format을 이용하면 날짜에서 다양한 정보를 추출할 수 있다. - 날짜 : date/timestamp/stri.. 2021. 4. 13.
[MySQL] 윈도우함수(Window Function) 윈도우함수는 Group By와 비슷하게 데이터를 그룹화하여 집계해준다. 하지만 Group By는 집계된 결과만 보여주는 반면, 윈도우함수는 기존 데이터에 집계된 값을 추가하여 나타낸다. 위와 같은 데이터가 있을 때 [ Group By를 사용했을 경우 ] 집계된 값만 나타난다. [ 윈도우함수를 사용했을 경우 ] 기존 데이터에 집계된 값이 추가되어 나타난다. 기본형태 함수(함수_적용_열) OVER (PARTITION BY 그룹열 ORDER BY 순서열) PARTITION BY : Group By와 같은 기능 ORDER BY : Order By와 같은 기능(DESC : 내림차순) ex) 국가별 profit의 합 - 윈도우함수 : SELECT SUM(profit) OVER (PARTITION BY country.. 2021. 2. 25.
[HIVE] 테이블 만들기 :: CREATE TABLE -- 파티션이 있을 경우 CREATE TABLE IF NOT EXISTS DB.테이블 ( 열1 데이터타입 , 열2 데이터타입 ) COMMENT 'message' PARTITIONED BY (열3 데이터타입); -- 파티션이 없을 경우 CREATE TABLE IF NOT EXISTS DB.테이블 ( 열1 데이터타입 , 열2 데이터타입 ); -- 조회하여 테이블 생성 CRESTE TABLE DB.테이블 as SELECT * FROM db.table; [ 생략가능한 옵션 ] - IF NOT EXISTS : 지정한 위치(데이터베이스)에 해당 이름을 가진 테이블이 없다면 생성, 있으면 생성 x - COMMENT : 코멘트/메시지 남기기 - PARTITIONED BY : 파티션 지정하기 1. 파티션이 있을 경우 P.. 2021. 1. 26.
[SQLD] 1과목 간단 요약 :: 데이터 모델링의 이해 과목1 데이터 모델링의 이해 1장. 데이터 모델링의 이해 1절. 데이터 모델의 이해 1. 데이터 모델링 - 일정한 표기법에 의해 표현 - 데이터베이스를 생성하여 개발 및 데이터관리 - 업무 흐름 설명, 분석 - 유의점 : 중복, 비유연성, 비일관성 - 요소 : 어떤 것(Things), 속성(Attributes), 관계(Relationships) - 특징 : 추상화, 단순화, 정확화 - 개념적 모델링 : 추상화 수준이 높고 업무중심적, 포괄적 / 전사적 데이터 모델링, EA수립 - 논리적 모델링 : key, 속성, 관계 등을 정확하게 표현 / 재사용성이 높음 - 물리적 모델링 : 성능, 저장 2. 좋은 데이터 모델 - 완전성 : 업무에 필요한 모든 데이터가 모델에 정의 - 중복배제 : 동일한 사실은 한 번.. 2020. 11. 29.
[HIVE] 테이블 삭제하기 :: DROP TABLE # 테이블 삭제 DROP TABLE 테이블; # 테이블 존재여부 상관없이 삭제 DROP TABLE IF EXISTS 테이블; 2020. 11. 26.
[HIVE] date_format 다루기 :: 날짜함수 date_format(날짜, 형식) : 하이브에서 date_format을 이용하면 날짜에서 다양한 정보를 추출할 수 있다. - 날짜 : date/timestamp/string 입력 가능 - 형식 Format 설명 예시 G 시대(BC, AD) AD y 연도(year) 1996; 96 Y 주(week)에 따른 년도 2009; 09 M 월(Month) July; Jul; 07 w 해당 년도의 몇 번째 주(1~53) 27 W 해당 월의 몇 번째 주(1~5) 2 D 해당 년도의 몇 번째 일(1~366) 189 d 해당 월의 몇 번째 일(1~31) 10 F 해당 월의 몇 번째 요일(1~5) 2 E 요일 Tuesday; Tue u 주의 몇 번째 일 요일을 숫자로 나타낸 것(1 = 월 ~ 7 = 일) 1 a Am/pm.. 2020. 11. 10.
[HIVE] 일 년 중 몇 번째 주 :: weekofyear weekofyear(date) : 일 년 중 몇 번째 주 weekofyear("2020-11-01") weekofyear("2020-11-01") > 44 2020. 11. 10.