본문 바로가기

SQL

(18)
[SQL 코딩테스트] 해커랭크 Basic Join 정답 Population Census, African Cities, Average Population of Each Continent ⏰ 3:53 -- Population Census SELECT SUM(C1.POPULATION) FROM CITY C1 JOIN COUNTRY C2 ON C1.COUNTRYCODE = C2.CODE WHERE C2.CONTINENT = 'Asia' -- African Cities SELECT C1.NAME FROM CITY C1 JOIN COUNTRY C2 ON C1.COUNTRYCODE = C2.CODE WHERE C2.CONTINENT = 'Africa' -- Average Population of Each Continent SELECT C2.CONTINENT, FLOOR(..
[SQL 코딩테스트] 해커랭크 Aggregation 정답 FROM CITY 모음 ⏰ 06:48 -- Revising Aggregations - The Count Function SELECT COUNT(ID) FROM CITY WHERE POPULATION > 100000 -- Revising Aggregations - The Sum Function SELECT SUM(POPULATION) FROM CITY WHERE DISTRICT = 'California' -- Revising Aggregations - Averages SELECT AVG(POPULATION) FROM CITY WHERE DISTRICT = 'California' -- Average Population SELECT FLOOR(AVG(POPULATION)) FROM CITY -- Japan P..
[SQL 강의] 러닝스푼즈 | SQL과 구글 시트로 배우는 데이터 리터러시 첫 걸음 (4) 데이터 분석 방법론 시계열분석 * 과거의 상황을 기반으로 올해도 똑같을 것이라고 가정하고 예측하는 것이기 때문에, 올해만의 돌발 이슈 등까지 정확히 예측할 수는 없음 * 불규칙 변동성 : 이 변수를 데이터 분석에 녹여낼 것인가, 빼낼 것인가? 그 기준은 무엇인가 등 고민할 거리가 많아짐 * 체계적 변동성 : 주간 매출은 월요일 아침에 제일 많이 나온다. 등 반복되는 결과값의 경향을 통해 예측할 수 있는 값 코호트 분석 * 코호트 분석 = 세그먼트 분석 + 특정 기간 기준 추가 코호트 분석 활용 예시 - 7월 전까지만 해도 M-4(4개월차)에 감소하는 경향이 두드러졌는데, 그 시기에 우리의 어떤 정책 변화가 있었길래 트렌드가 달라졌을까? EX) 배민의 신규 업체수가 언제 이탈하는지, 언제까지 잔존하는지 보고 싶다. 어떤 요소..
[SQL 코딩테스트] 해커랭크 Advanced Select 정답 The PADS ⏰ 11:26 CONCAT 안에 COUNT 같은걸 넣고, 뒤에서 GROUP BY로 묶어줘도 문제가 없다는 걸 처음 알았다! SELECT CONCAT(NAME, '(', LEFT(OCCUPATION,1), ')') AS A FROM OCCUPATIONS ORDER BY 1 ; SELECT CONCAT('There are a total of ', COUNT(OCCUPATION), ' ', LOWER(OCCUPATION), 's.') AS A FROM OCCUPATIONS GROUP BY OCCUPATION ORDER BY COUNT(OCCUPATION), OCCUPATION ; Type of Triangle ⏰ 7:30 지난번에 리트코드인가에서 금방 풀었던 문제인데, CASE WHEN 구문 ..
[SQL 코딩테스트] 해커랭크 Basic Select 정답 리트코드와 프로그래머스에 있는 SQL 문제를 다 풀고 마지막으로 해커랭크로 넘어왔다. 어떤 블로그에서 해커랭크가 문제는 제일 많지만 질이 좀 떨어지는 것 같다는 평을 봤는데, 어쨌든 그동안 해온 결실이 있게 나에게 문제가 더 쉽게 풀리기만 한다면 더 바랄게 없겠다. Revising the Select Query I, II / Select All / Select By ID / Japanese Cities' Attributes / Japanese Cities' Names ⏰ 03:17 -- Revising the Select Query I SELECT * FROM CITY WHERE POPULATION > 100000 AND COUNTRYCODE = 'USA' -- Revising the Select Que..
[SQL 강의] 러닝스푼즈 | SQL과 구글 시트로 배우는 데이터 리터러시 첫 걸음 (3) 스프레드시트 활용 스프레드시트 주요 함수 다 아는 거지만 현업에서 실제로 자주 쓰는 함수 참고겸 기록! 생각해본 적 없었는데 SQL = 피봇 테이블, JOIN = VLOOKUP ! 가로 방향 : JOIN (열이 늘어남) 세로 방향 : UNION (행이 늘어남) SQL - JOIN 스프레드시트 - VLOOKUP # ITEM_ID와 PRODUCT_NAME 별 총 주문수 및 총 매출액을 구해주세요. SELECT item_id, product_name, count(order_no) as ord_cnt, sum(sales) total_sales FROM `smiling-mark-412804.practice.order_info` LEFT JOIN practice.item USING (ITEM_ID) GROUP BY 1,2 ORDER..
[SQL 코딩테스트] 리트코드 Subqueries 정답 현업에서 서브쿼리보다 WITH구문을 더 선호한다는 이야기를 들었지만... 상황에 따라 적절한 구문을 잘 활용할 수 있는 게 최선일 테다. 처음으로 HARD가 있는 챕터. 화이팅! [EASY] 1978. Employees Whose Manager Left the Company LEFT JOIN / IS NULL ⏰ 8:30 LEFT JOIN RIGHT JOIN을 각각 어떤 상황에서 써야 하는지, 결과값이 어떻게 나오는지 아직도 약-간 헷갈린다. 반복 연습이 답! SELECT E1.EMPLOYEE_ID FROM EMPLOYEES E1 LEFT JOIN EMPLOYEES E2 ON E1.MANAGER_ID = E2.EMPLOYEE_ID WHERE E1.SALARY < 30000 AND E2.EMPLOYEE_I..
[SQL 코딩테스트] 리트코드 Advanced Select and Joins 정답 과연 베이직 챕터의 MEDIUM보다 어드밴스드 챕터의 EASY가 정말 더 쉬울것인가... 두둥 [EASY] 1731. The Number of Employees Which Report to Each Employee SELF JOIN / COUNT / AVG ⏰ 6:30 SELECT E1.EMPLOYEE_ID, E1.NAME, COUNT(E2.EMPLOYEE_ID) REPORTS_COUNT, ROUND(AVG(E2.AGE),0) AVERAGE_AGE FROM EMPLOYEES E1 JOIN EMPLOYEES E2 ON E1.EMPLOYEE_ID = E2.REPORTS_TO GROUP BY 1 ORDER BY 1 [EASY] 1789. Primary Department for Each Employee UNI..