SQL/코딩테스트42 [프로그래머스 / MySQL] 이름이 있는 동물의 ID 문제 💡 동물 보호소에 들어온 동물 중, 이름이 있는 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다. 테이블 형태 풀이 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL 해설 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL 이름이 있는 동물 조회 → NAME이 NULL값이 아닌 데이터 2024. 2. 2. [leetcode / MySQL] 185. Department Top Three Salaries 문제 💡 A company's executives are interested in seeing who earns the most money in each of the company's departments. A high earner in a department is an employee who has a salary in the top three unique salaries for that department. Write a solution to find the employees who are high earners in each of the departments. Return the result table in any order. 테이블 형태 풀이 SELECT Department, Employee, S.. 2024. 2. 1. [leetcode / MySQL] 178. Rank Scores 문제 💡 Write a solution to find the rank of the scores. The ranking should be calculated according to the following rules: The scores should be ranked from the highest to the lowest. If there is a tie between two scores, both should have the same ranking. After a tie, the next ranking number should be the next consecutive integer value. In other words, there should be no holes between ranks. Retur.. 2024. 2. 1. [leetcode / MySQL] 511. Game Play Analysis1 문제 💡 Write a solution to find the first login date for each player. Return the result table in any order. 테이블 형태 풀이 SELECT player_id, first_login FROM ( SELECT ROW_NUMBER() OVER (PARTITION BY player_id ORDER BY event_date) AS row_n , player_id , event_date AS first_login FROM Activity ) activity WHERE row_n=1 해설 FROM ( SELECT ROW_NUMBER() OVER (PARTITION BY player_id ORDER BY event_date) AS row_.. 2024. 2. 1. [프로그래머스 / MySQL] 오랜 기간 보호한 동물(1) 문제 💡 아직 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 동물 3마리의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일 순으로 조회해야 합니다. 테이블 형태 풀이 SELECT I.NAME, I.DATETIME FROM ANIMAL_INS AS I LEFT JOIN ANIMAL_OUTS AS O ON I.ANIMAL_ID = O.ANIMAL_ID WHERE O.ANIMAL_ID IS NULL ORDER BY I.DATETIME LIMIT 3 해설 FROM ANIMAL_INS AS I LEFT JOIN ANIMAL_OUTS AS O ON I.ANIMAL_ID = O.ANIMAL_ID WHERE O.ANIMAL_ID IS NULL 입양을 못 간 동물을 출력해야 한다 →.. 2024. 2. 1. [프로그래머스 / MySQL] 조건에 맞는 도서와 저자 리스트 출력하기 문제 💡 '경제'카테고리에 속하는 도서들의 도서 ID(BOOK_ID), 저자명(AUTHOR_NAME), 출판일(PUBLISHED_DATE) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 출판일을 기준으로 오름차순 정렬해주세요. 테이블 형태 풀이 SELECT B.BOOK_ID , A.AUTHOR_NAME , DATE_FORMAT(B.PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATE FROM BOOK AS B JOIN AUTHOR AS A ON B.AUTHOR_ID = A.AUTHOR_ID WHERE B.CATEGORY = '경제' ORDER BY B.PUBLISHED_DATE 해설 FROM BOOK AS B JOIN AUTHOR AS A ON B.AUTHOR_ID = A.. 2024. 2. 1. [프로그래머스 / MySQL] 특정 옵션이 포함된 자동차 리스트 구하기 문제 💡 CAR_RENTAL_COMPANY_CAR 테이블에서 '네비게이션' 옵션이 포함된 자동차 리스트를 출력하는 SQL문을 작성해주세요. 결과는 자동차 ID를 기준으로 내림차순 정렬해주세요. 테이블 형태 풀이 SELECT * FROM CAR_RENTAL_COMPANY_CAR WHERE OPTIONS LIKE '%네비게이션%' ORDER BY CAR_ID DESC 해설 SELECT * FROM CAR_RENTAL_COMPANY_CAR WHERE OPTIONS LIKE '%네비게이션%' 네비게이션이 포함된 데이터를 추출한다 → OPTIONS 컬럼에서 LIKE 연산자를 사용하여 문자열 부분일치를 검색한다 → 찾고자 하는 문자열 앞뒤 %는 모든 문자, _는 한 글자를 의미한다 LIKE와 와일드카드 문자 mys.. 2024. 2. 1. [프로그래머스 / MySQL] 자동차 대여 기록에서 장기/단기 대여 구분하기 문제 💡 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일이 2022년 9월에 속하는 대여 기록에 대해서 대여 기간이 30일 이상이면 '장기 대여' 그렇지 않으면 '단기 대여' 로 표시하는 컬럼(컬럼명: RENT_TYPE)을 추가하여 대여기록을 출력하는 SQL문을 작성해주세요. 결과는 대여 기록 ID를 기준으로 내림차순 정렬해주세요. 테이블 형태 풀이 SELECT HISTORY_ID , CAR_ID , DATE_FORMAT(START_DATE, '%Y-%m-%d') AS START_DATE , DATE_FORMAT(END_DATE, '%Y-%m-%d') AS END_DATE , CASE WHEN DATEDIFF(END_DATE,START_DATE) + 1 >= 30 TH.. 2024. 2. 1. [프로그래머스 / MySQL] 나이 정보가 없는 회원 수 구하기 문제 💡 USER_INFO 테이블에서 나이 정보가 없는 회원이 몇 명인지 출력하는 SQL문을 작성해주세요. 이때 컬럼명은 USERS로 지정해주세요. 테이블 형태 풀이 SELECT COUNT(*) AS USERS FROM USER_INFO WHERE AGE IS NULL 해설 FROM USER_INFO WHERE AGE IS NULL 나이 정보가 없는 회원 → AGE IS NULL SELECT COUNT(*) AS USERS WHERE 문에서 나이 정보가 없는 회원만 선택하는 조건이 적용되었으므로 조건 적용 이후 출력되는 데이터를 모두 카운트하여 USERS 라는 컬럼명으로 추출한다 2024. 2. 1. 이전 1 2 3 4 5 다음