본문 바로가기

Study/SQL

(17)
HackerRank | 정규표현식 | weather observation station 6 ~ 11 weather observation station 6 문제는 아래와 같다. Query the list of CITY names starting with vowels (i.e., a, e, i, o, or u) from STATION. Your result cannot contain duplicates. Input Format The STATION table is described as follows: 위 문제를 SQL기본 문법들을 활용하여 풀이하면, 우선 중복을 제거한 city 이름 중, a/e/i/o/u로 시작하는 city 들만 출력한다. SELECT DISTINCT city FROM Station WHERE city LIKE 'a%' OR city LIKE 'e%' OR city LIKE 'i%' O..
MySQL | 프로그래머스 | 상품을 구매한 회원 비율 구하기 Question 다음은 어느 의류 쇼핑몰에 가입한 회원 정보를 담은 USER_INFO 테이블과 온라인 상품 판매 정보를 담은 ONLINE_SALE 테이블 입니다. USER_INFO 테이블은 아래와 같은 구조로 되어있으며 USER_ID, GENDER, AGE, JOINED는 각각 회원 ID, 성별, 나이, 가입일을 나타냅니다. Column name Type Nullable USER_ID INTEGER FALSE GENDER TINYINT(1) TRUE AGE INTEGER TRUE JOINED DATE FALSE GENDER 컬럼은 비어있거나 0 또는 1의 값을 가지며 0인 경우 남자를, 1인 경우는 여자를 나타냅니다. ONLINE_SALE 테이블은 아래와 같은 구조로 되어있으며 ONLINE_SALE_ID..
MySQL | 프로그래머스 | 우유와 요거트가 담긴 장바구니 Question 문제 설명 CART_PRODUCTS 테이블은 장바구니에 담긴 상품 정보를 담은 테이블입니다. CART_PRODUCTS 테이블의 구조는 다음과 같으며, ID, CART_ID, NAME, PRICE는 각각 테이블의 아이디, 장바구니의 아이디, 상품 종류, 가격을 나타냅니다. NAME TYPE ID INT CART_ID INT NAME VARCHAR PRICE INT 데이터 분석 팀에서는 우유(Milk)와 요거트(Yogurt)를 동시에 구입한 장바구니가 있는지 알아보려 합니다. 우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회하는 SQL 문을 작성해주세요. 이때 결과는 장바구니의 아이디 순으로 나와야 합니다. 예시 예를 들어 CART_PRODUCTS 테이블이 다음과 같다면 CART_PRO..
회고 | 카카오 모빌리티 SQL 코딩테스트 이직을 준비하고 있다. 수십번의 지원서 접수. 그리고 연이은 '죄송합니다' 하지만 그런 말들에 속상해하기보다, 부족함을 인정하고 스스로 잘 할 수 있는 것과 채워나갈 수 있는 부분을 찾아나가려 노력하고 있다. 이력서 알파 버전, 베타 버전,, 감마,,, 거의 오메가까지 수정을 했으려나? 감사하게도 정말 가고 싶었던 2 곳의 연락을 받아 채용 과정을 경험 할 수 있었다. 그 중 한 곳이었던 카카오 모빌리티 이력서를 접수하고 2일 내로 SQL 코드테스트 안내 메일을 받았다. 당시에 다른 곳 면접 일정과 Tableau 교육을 동시에 진행하고 있어서 면접과 수료를 완료하고 SQL 코드 테스트를 준비할 수 있었다. HackerRank, Codility, 프로그래머스의 중급 이상의 문제는 거의 다 풀어봤다. 실제 ..
MySQL | 프로그래머스 | 입양 시각 구하기(2) | Recursive CTE Question 문제 설명 ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE NAME VARCHAR(N) TRUE SEX_UPON_OUTCOME VARCHAR(N) FALSE 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터..
MySQL | 프로그래머스 | 즐겨찾기가 가장 많은 식당 정보 출력하기 Question 문제 설명 다음은 식당의 정보를 담은 REST_INFO 테이블입니다. REST_INFO 테이블은 다음과 같으며 REST_ID, REST_NAME, FOOD_TYPE, VIEWS, FAVORITES, PARKING_LOT, ADDRESS, TEL은 식당 ID, 식당 이름, 음식 종류, 조회수, 즐겨찾기수, 주차장 유무, 주소, 전화번호를 의미합니다. Column name Type Nullable REST_ID VARCHAR(5) FALSE REST_NAME VARCHAR(50) FALSE FOOD_TYPE VARCHAR(20) TRUE VIEWS NUMBER TRUE FAVORITES NUMBER TRUE PARKING_LOT VARCHAR(1) TRUE ADDRESS VARCHAR(100..
PostgreSQL | Codility | SqlWorldCup 생각했던 것 보다 시간을 많이 사용했던 문제 직관적이고 간결한 쿼리를 짜고자 고민했고, null 처리에서 약간 시간을 잡아먹었다. 그럼 바로 문제. Question Given a list of matches in a group stage of the soccer World Cup, compute the number of points each team currently has. You are given two tables, teams and matches, with the following structures: create table teams ( team_id integer not null, team_name varchar(30) not null, unique(team_id) ); create table..
PostgreSQL | Codility | SqlEventsDelta PostgreSQL를 사용할 일이 생겨서 코딜리티 SQL 문제를 풀어봤다. 해커랭크에서 MySQL 버전 문제로 With 문이나 Window Function등의 사용 제약이 있었는데, PostgreSQL을 사용하니 해당 제약 없이 편리하게 쿼리를 짤 수 있었다. 서론은 마치고 본론. 아래부터 SqlEventsDelta의 문제이다. Question Compute the difference between the latest and the second latest value for each event type. Given a table events with the following structure: create table events ( event_type integer not null, value integ..