본문 바로가기

DB_이야기20

🚀[SQL 알고리즘 문제 풀이] Programmers : 즐겨찾기가 가장 많은 식당 정보 출력하기(with RANK() OVER()) 🔓 문제 설명 다음은 식당의 정보를 담은 REST_INFO 테이블입니다. 각 식당에 대한 정보는 식당 ID(REST_ID), 이름(REST_NAME), 음식 종류(FOOD_TYPE), 조회수(VIEWS), 즐겨찾기 수(FAVORITES), 주차장 유무(PARKING_LOT), 주소(ADDRESS), 전화번호(TEL) 등으로 구성되어 있습니다. REST_INFO 테이블에서 음식 종류별로 즐겨찾기 수가 가장 많은 식당의 음식 종류, ID, 식당 이름, 즐겨찾기 수를 조회하는 SQL문을 작성하세요. 결과는 음식 종류를 기준으로 내림차순 정렬되어야 합니다. REST_INFO 테이블 Column Name Type Nullable REST_IDVARCHAR(5)FALSEREST_NAMEVARCHAR(50)FAL.. 2025. 5. 5.
🚀[SQL 알고리즘 문제 풀이] Programmers : 멸종위기의 대장균 찾기 (with 심화 재귀쿼리(CTE)) 🔓 문제 설명 각 세대별 자식이 없는 개체의 수(COUNT)와 세대(GENERATION)를 출력하는 SQL문을 작성해주세요.이때 결과는 세대에 대해 오름차순 정렬 해주세요. 단, 모든 세대에는 자식이 없는 개체가 적어도 1개체는 존재합니다. ECOLI_DATA 테이블컬럼명타입설명IDINTEGER대장균 개체의 IDPARENT_IDINTEGER부모 개체의 ID (최초는 NULL)SIZE_OF_COLONYINTEGER대장균 개체의 크기DIFFERENTIATION_DATEDATE분화된 날짜GENOTYPEINTEGER대장균의 형질 (문제출처:https://school.programmers.co.kr/learn/courses/30/lessons/301651) 🎯 입출력 예제ECOLI_DATA 테이블:IDPA.. 2025. 5. 2.
🚀[SQL 알고리즘 문제 풀이] Programmers : 3세대 대장균 개체 찾기 (with JOIN, 재귀쿼리(CTE)) 🔓 문제 설명 대장균들은 일정 주기로 분화하며, 분화를 시작한 개체를 부모 개체, 분화가 되어 나온 개체를 자식 개체라고 합니다.ECOLI_DATA 테이블은 실험실에서 배양한 대장균의 정보를 담고 있으며, 아래와 같은 구조를 가지고 있습니다. 3세대에 해당하는 대장균의 ID를 출력하고, ID 기준으로 오름차순 정렬하세요. ECOLI_DATA 테이블 컬럼명타입설명IDINTEGER대장균 개체의 IDPARENT_IDINTEGER부모 개체의 ID (최초는 NULL)SIZE_OF_COLONYINTEGER대장균 개체의 크기DIFFERENTIATION_DATEDATE분화된 날짜GENOTYPEINTEGER대장균의 형질 (문제출처:https://school.programmers.co.kr/learn/courses/3.. 2025. 5. 1.
🚀[SQL 알고리즘 문제 풀이] Programmers : 대장균의 크기에 따라 분류하기 2 🔓 문제 설명 대장균들은 일정 주기로 분화하며, 분화를 시작한 개체를 부모 개체, 분화가 되어 나온 개체를 자식 개체라고 합니다. 이번 문제에서는 대장균들의 크기를 기준으로 상위 0% ~ 25%, 26% ~ 50%, 51% ~ 75%, 76% ~ 100%에 대해 'CRITICAL', 'HIGH', 'MEDIUM', 'LOW'로 분류하는 SQL 쿼리를 작성하는 것입니다. 1️⃣ CRITICAL: 상위 0% ~ 25%2️⃣ HIGH: 상위 26% ~ 50% 3️⃣ MEDIUM: 상위 51% ~ 75%4️⃣ LOW: 상위 76% ~ 100% ECOLI_DATA 테이블 Column nameTypeNullableIDINTEGERFALSEPARENT_IDINTEGERTRUESIZE_OF_COLONYINTEG.. 2025. 4. 30.
🚀[SQL 알고리즘 문제 풀이] Programmers : 오프라인/온라인 판매 데이터 통합하기 🔓 문제 설명 ONLINE_SALE 테이블과 OFFLINE_SALE 테이블에서 2022년 3월의 오프라인/온라인 상품 판매 데이터의 판매 날짜, 상품ID, 유저ID, 판매량을 출력하는 SQL문을 작성해주세요. OFFLINE_SALE 테이블의 판매 데이터의 USER_ID 값은 NULL 로 표시해주세요. 결과는 판매일을 기준으로 오름차순 정렬해주시고 판매일이 같다면 상품 ID를 기준으로 오름차순, 상품ID까지 같다면 유저 ID를 기준으로 오름차순 정렬해주세요.ONLINE_SALE 테이블Column nameTypeNullableONLINE_SALE_IDINTEGERFALSEUSER_IDINTEGERFALSEPRODUCT_IDINTEGERFALSESALES_AMOUNTINTEGERFALSESALES_DATED.. 2025. 4. 28.
🚀[SQL 알고리즘 문제 풀이] Programmers : 12세 이하인 여자 환자 목록 출력하기 🔓 문제 설명 다음은 종합병원에 등록된 환자정보를 담은 PATIENT 테이블입니다. PATIENT 테이블은 다음과 같으며, PT_NO, PT_NAME, GEND_CD, AGE, TLNO는 각각 환자번호, 환자이름, 성별코드, 나이, 전화번호를 의미합니다. name Type Nullable PT_NOVARCHAR(10)FALSEPT_NAMEVARCHAR(20)FALSEGEND_CDVARCHAR(1)FALSEAGEINTEGERFALSETLNOVARCHAR(50)TRUEPATIENT 테이블에서 12세 이하인 여자환자의 환자이름, 환자번호, 성별코드, 나이, 전화번호를 조회하는 SQL문을 작성해주세요. 이때 전화번호가 없는 경우, 'NONE'으로 출력시켜 주시고 결과는 나이를 기준으로 내림차순 정렬하고.. 2025. 4. 28.