목록알고리즘 (108)
노아
Question 대장균 개체의 크기를 내름차순으로 정렬했을 때 상위 0% ~ 25% 를 'CRITICAL', 26% ~ 50% 를 'HIGH', 51% ~ 75% 를 'MEDIUM', 76% ~ 100% 를 'LOW' 라고 분류합니다. 대장균 개체의 ID(ID) 와 분류된 이름(COLONY_NAME)을 출력하는 SQL 문을 작성해주세요. 이때 결과는 개체의 ID 에 대해 오름차순 정렬해주세요 . 단, 총 데이터의 수는 4의 배수이며 같은 사이즈의 대장균 개체가 서로 다른 이름으로 분류되는 경우는 없습니다. Pseudocode 서브쿼리 a 생성:ecoli_data 테이블에서 모든 컬럼을 선택합니다.SIZE_OF_COLONY를 기준으로 내림차순 정렬하여 순위를 매기고(s_rank), 전체 개체 수를 계산..
Question 분화된 연도(YEAR), 분화된 연도별 대장균 크기의 편차(YEAR_DEV), 대장균 개체의 ID(ID) 를 출력하는 SQL 문을 작성해주세요. 분화된 연도별 대장균 크기의 편차는 분화된 연도별 가장 큰 대장균의 크기 - 각 대장균의 크기로 구하며 결과는 연도에 대해 오름차순으로 정렬하고 같은 연도에 대해서는 대장균 크기의 편차에 대해 오름차순으로 정렬해주세요. Pseudocode 서브쿼리 a 생성:ECOLI_DATA 테이블에서 모든 컬럼과 DIFFERENTIATION_DATE의 연도를 추출하여 서브쿼리 a를 생성합니다.서브쿼리 b 생성:ECOLI_DATA 테이블에서 DIFFERENTIATION_DATE의 연도별로 최대 SIZE_OF_COLONY를 찾고, 연도와 최대 크기를 포함하는 ..
Question DEVELOPERS 테이블에서 Python이나 C# 스킬을 가진 개발자의 정보를 조회하려 합니다. 조건에 맞는 개발자의 ID, 이메일, 이름, 성을 조회하는 SQL 문을 작성해 주세요.결과는 ID를 기준으로 오름차순 정렬해 주세요.Pseudocode 테이블 간 조인:developers 테이블과 skillcodes 테이블을 조인합니다.비트 연산자 &를 사용하여 developers.skill_code와 skillcodes.code가 일치하는지 확인합니다.조건 설정:skillcodes.name 컬럼에서 "C#" 또는 "Python" 기술을 가진 개발자를 찾기 위해 WHERE 절에 조건을 추가합니다.결과 반환:developers 테이블에서 id, email, first_name, last_na..
Question 3세대의 대장균의 ID(ID) 를 출력하는 SQL 문을 작성해주세요. 이때 결과는 대장균의 ID 에 대해 오름차순 정렬해주세요. Pseudocode 테이블 간 조인:ecoli_data 테이블을 세 번 각각 e1, e2, e3로 참조하여 자기 자신과 조인합니다.e1은 부모 개체, e2는 e1의 자식 개체, e3는 e2의 자식 개체로 설정됩니다.조건 설정:e1.parent_id IS NULL 조건을 사용하여 e1이 부모가 없는 최상위 개체인 경우만 조회합니다.결과 반환:e3.id 값을 반환하여 e1 → e2 → e3의 트리 구조에서 손자 개체에 해당하는 개체의 ID만을 출력합니다. Code SELECT e3.idFROM ecoli_data e1 JOIN ecoli_data..
Question 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. Pseudocode 재귀 CTE 정의:WITH RECURSIVE 구문을 사용하여 time이라는 재귀 CTE를 생성합니다.처음에는 0으로 시작하고, 시간(hour)이 23이 될 때까지 1씩 증가하며 재귀적으로 시간을 생성합니다.서브쿼리:ANIMAL_OUTS 테이블에서 DATETIME 컬럼의 시간 부분을 추출하여 hour로 변환합니다.이 서브쿼리는 동물의 퇴출 시간이 포함된 결과를 제공합니다.시간을 기준으로 조인:재귀적으로 생성된 time CTE와 ANIMAL_OUTS 데이터를..
Question 아이템의 희귀도가 'RARE'인 아이템들의 모든 다음 업그레이드 아이템의 아이템 ID(ITEM_ID), 아이템 명(ITEM_NAME), 아이템의 희귀도(RARITY)를 출력하는 SQL 문을 작성해 주세요. 이때 결과는 아이템 ID를 기준으로 내림차순 정렬주세요. Pseudocode 서브쿼리 사용:서브쿼리에서 item_tree와 item_info를 parent_item_id를 기준으로 조인하여, rarity가 'RARE'인 아이템의 자식 아이템 ID를 추출합니다.외부 쿼리:외부 쿼리는 item_info 테이블에서 서브쿼리에서 추출된 item_id 값을 기준으로 item_id, item_name, rarity를 조회합니다.정렬:결과는 item_id를 기준으로 내림차순 정렬됩니다. Co..
Question 물고기 종류 별로 가장 큰 물고기의 ID, 물고기 이름, 길이를 출력하는 SQL 문을 작성해주세요.물고기의 ID 컬럼명은 ID, 이름 컬럼명은 FISH_NAME, 길이 컬럼명은 LENGTH로 해주세요.결과는 물고기의 ID에 대해 오름차순 정렬해주세요.단, 물고기 종류별 가장 큰 물고기는 1마리만 있으며 10cm 이하의 물고기가 가장 큰 경우는 없습니다. Pseudocode 테이블 설명:fish_info: 어종 정보가 담긴 테이블.fish_name_info: 어종 이름 정보를 가진 테이블.서브쿼리 사용:서브쿼리를 사용하여 각 어종별로 최대 길이(MAX(length))를 계산하고, 이를 m이라는 별칭으로 가져옵니다.JOIN 조건:fish_info와 fish_name_info를 어종 타입(..
Question ONLINE_SALE 테이블과 OFFLINE_SALE 테이블에서 2022년 3월의 오프라인/온라인 상품 판매 데이터의 판매 날짜, 상품ID, 유저ID, 판매량을 출력하는 SQL문을 작성해주세요. OFFLINE_SALE 테이블의 판매 데이터의 USER_ID 값은 NULL 로 표시해주세요. 결과는 판매일을 기준으로 오름차순 정렬해주시고 판매일이 같다면 상품 ID를 기준으로 오름차순, 상품ID까지 같다면 유저 ID를 기준으로 오름차순 정렬해주세요. Pseudocode 테이블 정의:online_sale: 온라인 판매 정보를 담고 있는 테이블.offline_sale: 오프라인 판매 정보를 담고 있는 테이블.조건 설정:두 테이블 모두 2022년 3월의 판매 데이터를 조회 (sales_date L..