반응형
반응형
https://www.hackerrank.com/challenges/challenges/problem SQLD를 공부하면서 윈도우함수에 대해서 이해했다고 생각했는데,, 아직 실습에서 사용하려니 손에 익지 않았던 모양이다. 위 문제를 풀면서 뭔가 굉장히 비효율적이고 불편한 느낌이 있었는데 윈도우 함수를 사용하면 훨씬 깔끔하게 풀렸다. 챌린지 개수가 챌린지 개수 중에서 가장 많거나, 챌린지 개수 그룹별 개수를 산출했을 때 1이면 출력하라는 조건을 구현해야 했다. 우선 내가 무지성 서브쿼리로 작성한 쿼리를 첨부한다. select x.id, x.name, x.count_ch from (select h.hacker_id id, h.name name, count(c.hacker_id) count_ch from ha..
- 2개 이상의 테이블을 연결하여 데이터를 출력 (즉 필요한 경우 3개, 4개,.... 가능하다는 말) 어떤 기준으로 연결할 지 모르기 때문에 사용자가 지정 - 필요한 이유 : 정규화된 모델은 데이터를 여러개 테이블로 나눔 1. INNER 조인 - 실무에서 가장 많이 쓰이는 형태. 조인 조건에 대해서 동일한 값이 있는 행만 리턴 - 단순하게 where A 테이블 칼럼 = B 테이블 칼럼 이런식으로 쓸 수 있어 직관적임 2. 자연조인 - 두 테이블 간 동일한 이름을 갖는 칼럼에 대해 이너조인 수행. 조인 조건을 자기 스스로 찾아주니까 편할 것 같아 보이지만 나에게는 명시가 되어있지 않다는 점이 오히려 불편한 듯. 의미만 알고 넘어가자. - 조인 대상 칼럼에는 앨리어스 사용 불가 3. USING 조건절 - ..
https://www.hackerrank.com/challenges/weather-observation-station-6/problem 크게 어려운 문제는 아니나 like 함수의 무분별한 사용금지를 리마인드하고자 포스팅하기로 했다. 다음과 같은 테이블에서 CITY 칼럼 중 모음으로 시작하는 데이터만 출력하려면 어떻게 해야 할까? 참고로 도시명이기 때문에 대문자로 시작한다. 단 중복인 데이터는 제외할 것! STATION Field Type ID Number CIYT Varchar2(21) 이하 생략 방법1 : 무지성 LIKE 조건 사용하기 - select distinct CITY from STATION where CITY like 'A%' or CITY like 'E%' or CITY like 'I%' o..
https://www.hackerrank.com/challenges/weather-observation-station-5/problem 가장 긴 이름을 가진 CITY와 가장 짧은 이름을 가진 CITY, 총 2가지 CITY를 글자수와 함께 출력하라는 문제였다. 만약 족너에 해당되는 도시가 2개 이상이라면 알파벳 오름차순에 따라서 정렬 후 출력. STATION Field Type ID Number CIYT Varchar2(21) 이하 생략 문제에 주어진 풀이 예시를 보면 ABC 3 \n PQRS 4 이런 식으로 제시되었다. 특이한 점은 두개의 쿼리로 나눠 작성해도 답으로 인정된다는 것. 생각해보니 정렬 기준이 2가지가 필요한데 서로 상관관계가 없기 때문에 한가지 쿼리로 작성하면 굉장히 비효율적으로 진행될 것..
SQL 안쓴지 너무 오래되어서,,, 리마인드 차원에서 개괄적으로 작성함. 조인까지 다루면 너무 많을 것 같아서 완전 기초만 작성. (조인, 집합연산자, 서브쿼리, 그룹함수 등 다음 포스팅으로 패스) - 기본구조 1. SELECT 열이름 2. FROM 테이블 3. WHERE 검색조건 4. GROUP BY 그룹핑할 열 5. HAVING 그룹 조건 6. ORDER BY 정렬할 열 1. select 절 - AS를 이용하여 출력되는 칼럼의 이름을 바꿀 수 있음. EX) select name AS "이름" ~~ - || 표시를 이용하여 and 조건 부여할 수 있다. EX) select last_name||job_id ~~ - distinct 옵션을 부여해서 중복 제거 가능. EX) select distinct na..
다양한 곳에서 진행하는 빅데이터 공모전이 있다. 필자같은 대학생이라면 학교수업이나 교내대회도 있을 것이다. 참여하기로 마음먹으면 주제에 맞는 공공데이터 포털을 뒤지면서 열심히 삽질을 반복한다. 그렇게 분석을 끝내고 나면 심사위원분들의 마음을 사로잡기 위해 ppt를 꾸며야 하는데, 단순한 막대그래프로는 모양새가 안난다. 대부분의 공공데이터는 지리정보와 관련된 내용이 많기에 이와 연관지어 분석을 진행하는 경우가 많은데, (전통시장, 교통사고, 젠트리피케이션 등의 주제) 지리적 정보와 분석을 함께 시각화하려면 지도위에 색칠하여 표시하면 직관적이고 반응도 좋은 것 같다. 따라서 이 포스팅은 빅데이터 시각화에서 자주 쓰일 지도에 색칠하기를 다루려고 한다. 시작하기 전!서울시 빅데이터 캠퍼스에 들어가서 공모전 작품..