1. Top Competitors 난이도 Medium 출처 Top Competitors | HackerRank A. 📜 문제코딩 대회의 리더보드를 만들어야한다. 쿼리를 작성하여 하나보다 많은 챌린지에 만점을 획득한 각 hacker_id, name을 출력하라. 해커(player)가 만점을 획득한 총 문제 수에 따라 출력을 내림차순으로 정렬한다. 둘 이상의 해커가 동일한 수의 챌린지에서 만점을 받은 경우 오름차순으로 hacker_id를 정렬한다. B. …
2022년 01월 25일 · 5 min read
1. Occupations 난이도 Medium 출처 Solve SQL | HackerRank A. 📜 문제트랜잭션 테이블(행방향으로 증가하는 테이블)을 크로스 테이블(열방향으로 증가하는 테이블)로 만드는 크로스 집계를 하시오. B. 💡 내 답안a. 😅 1차 시도 (실패후 성공) SELECT Doctor, Professor, Singer, Actor FROM ( SELECT ROW_NUMBER() OVER (PARTITION BY occupation ORDER BY name) AS A, …
2021년 12월 29일 · 4 min read
1. 우유와 요거트가 담긴 장바구니 A. 문제 위 프로그래머스 사이트에 접속하여 문제를 확인해주세요. B. 내 답안 -- Oracle SELECT A.CART_ID FROM CART_PRODUCTS A JOIN CART_PRODUCTS B ON (A.CART_ID = B.CART_ID) WHERE A.NAME = 'Milk' AND B.NAME = 'Yogurt' ORDER BY A.ID; a. 회고 내 풀이 이 문제는 합집합, JOIN, 서브쿼리로 …
2021년 10월 16일 · 1 min read
1. 보호소에서 중성화한 동물 A. 문제 위 프로그래머스 사이트에 접속하여 문제를 확인해주세요. B. 내 답안 -- Oracle SELECT INS.ANIMAL_ID, INS.ANIMAL_TYPE, INS.NAME FROM ANIMAL_INS INS JOIN ANIMAL_OUTS OUTS ON (INS.ANIMAL_ID = OUTS.ANIMAL_ID) WHERE UPPER(INS.SEX_UPON_INTAKE) LIKE 'INTACT%' AND (UPPER(OUTS.SEX_UPON_OUTCOME) LIKE 'SPAYED%' OR UPPER(OUTS.SEX_UPON_OUTCOME) LIKE 'NEUTERED%') ORDER BY ANIMAL_ID; a. 회고 내 풀이 …
2021년 10월 16일 · 1 min read
1. 입양 시각 구하기(2) A. 문제 위 프로그래머스 사이트에 접속하여 문제를 확인해주세요. B. 내 답안 -- Oracle SELECT B.L AS HOUR, NVL(A.COUNT, 0) AS COUNT FROM ( SELECT TO_CHAR(DATETIME, 'HH24') AS HOUR, COUNT(*) AS COUNT FROM ANIMAL_OUTS GROUP BY TO_CHAR(DATETIME, 'HH24') ORDER BY TO_CHAR(DATETIME, 'HH24') ) A, ( SELECT LEVEL-1 …
2021년 10월 16일 · 1 min read
1. 오랜 기간 보호한 동물(1) A. 문제 위 프로그래머스 사이트에 접속하여 문제를 확인해주세요. B. 내 답안 -- Oracle SELECT A.NAME, A.DATETIME FROM ( SELECT INS.NAME AS NAME, INS.DATETIME AS DATETIME FROM ANIMAL_INS INS LEFT OUTER JOIN ANIMAL_OUTS OUTS ON (INS.ANIMAL_ID = OUTS.ANIMAL_ID) WHERE OUTS.ANIMAL_ID IS NULL ORDER BY INS.DATETIME ASC …
2021년 10월 15일 · 1 min read
1. 있었는데요 없었습니다 A. 문제 위 프로그래머스 사이트에 접속하여 문제를 확인해주세요. B. 내 답안 -- Oracle SELECT INS.ANIMAL_ID, INS.NAME FROM ANIMAL_INS INS JOIN ANIMAL_OUTS OUTS ON (INS.ANIMAL_ID = OUTS.ANIMAL_ID) WHERE INS.DATETIME > OUTS.DATETIME ORDER BY INS.DATETIME; a. 회고 내 풀이 INNER JOIN 문제. ANIMAL_INS, ANIMAL_OUTS 테이블의 PK 값이라고 생각되는 ANIMAL_ID로 …
2021년 10월 15일 · 1 min read
1. 없어진 기록 찾기 A. 문제 위 프로그래머스 사이트에 접속하여 문제를 확인해주세요. B. 내 답안 -- Oracle SELECT OUTS.ANIMAL_ID, OUTS.NAME FROM ANIMAL_INS INS RIGHT OUTER JOIN ANIMAL_OUTS OUTS ON (INS.ANIMAL_ID = OUTS.ANIMAL_ID) WHERE INS.DATETIME IS NULL ORDER BY ANIMAL_ID; a. 회고 내 풀이 JOIN문제이다. ANIMAL_ID를 기준으로 OUTER JOIN을 시도한다. RIGHT …
2021년 10월 15일 · 1 min read
1. 중성화 여부 파악하기 A. 문제 위 프로그래머스 사이트에 접속하여 문제를 확인해주세요. B. 내 답안 -- Oracle SELECT ANIMAL_ID, NAME, CASE WHEN SEX_UPON_INTAKE LIKE 'Neutered%' THEN 'O' WHEN SEX_UPON_INTAKE LIKE 'Spayed%' THEN 'O' ELSE 'X' END FROM ANIMAL_INS ORDER BY ANIMAL_ID; a. 회고 내 풀이 CASE문을 사용했다. 문자열에 특정 단어가 …
2021년 10월 15일 · 0 min read
1. NULL 처리하기 A. 문제 위 프로그래머스 사이트에 접속하여 문제를 확인해주세요. B. 내 답안 -- Oracle -- 코드를 입력하세요 SELECT ANIMAL_TYPE, NVL2(NAME, NAME, 'No name'), SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID; a. 회고 내 풀이 NULL 처리 함수는 NVL, NVL2가 있다. NVL([NULL인지 여부를 검사할 데이터 또는 열(필수)], [앞의 데이터가 NULL일 …
2021년 10월 14일 · 1 min read