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. 취득 목적데이터 관련 일을 하던, 백앤드 일을 하던 SQL 관련 지식은 필요하다고 생각했다. 학부에서 수박 겉핥기로 공부한 RDB 내용을 보강해야겠다는 생각도 있었다. 그리고 가끔 코딩테스트에 출제되는 SQL 문제를 풀지 못한다는게 SQLD를 공부해서 취득한 가장 큰 이유였다. 자격증을 딴다고 SQL을 자유자재로 다룰 수 있다고 믿지는 않는다. 다만, 투입한 시간만큼은 SQL적인 …
2021년 12월 17일 · 1 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