LV110 [프로그래머스 / MySQL] 모든 레코드 조회하기 문제 💡 동물 보호소에 들어온 모든 동물의 정보를 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요. SQL을 실행하면 다음과 같이 출력되어야 합니다. 테이블 형태 풀이 SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID 해설 SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID 전체 컬럼의 데이터를 출력하므로 SELECT문에 *(asterisk, 아스타)를 사용한다 ANIMAL_ID순으로 오름차순 정렬한다 *(asterisk, 아스타)의 다양한 사용 1. 테이블의 모든 컬럼 선택 SELECT * FROM t1 INNER JOIN t2 ... 2. 이름이 지정된 테이블의 모든 컬럼 선택 SELECT t1.*, t2.* FROM t1 INNER J.. 2024. 2. 2. [프로그래머스 / 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. [프로그래머스 / 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. [프로그래머스 / MySQL] 가장 비싼 상품 구하기 문제 💡 PRODUCT 테이블에서 판매 중인 상품 중 가장 높은 판매가를 출력하는 SQL문을 작성해주세요. 이때 컬럼명은 MAX_PRICE로 지정해주세요. 테이블 형태 풀이 SELECT MAX(PRICE) AS MAX_PRICE FROM PRODUCT 해설 SELECT MAX(PRICE) AS MAX_PRICE FROM PRODUCT 최댓값 구하기와 비슷한 문제다 가장 높은 판매가 = 판매금액의 최댓값 → PRICE의 MAX 값을 구한다 2024. 1. 31. [프로그래머스 / MySQL] 최댓값 구하기 문제 💡 가장 최근에 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요. 테이블 형태 풀이 SELECT MAX(DATETIME) AS 시간 FROM ANIMAL_INS 해설 SELECT MAX(DATETIME) AS 시간 FROM ANIMAL_INS 가장 최근에 들어왔다 = 가장 늦게 들어왔다 = 시간 값이 가장 크다 → DATETIME 컬럼의 MAX 값을 구한다 2024. 1. 31. [프로그래머스 / MySQL] 여러 기준으로 정렬하기 문제 💡 동물 보호소에 들어온 모든 동물의 아이디와 이름, 보호 시작일을 이름 순으로 조회하는 SQL문을 작성해주세요. 단, 이름이 같은 동물 중에서는 보호를 나중에 시작한 동물을 먼저 보여줘야 합니다. 테이블 형태 풀이 SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS ORDER BY NAME ASC, DATETIME DESC 해설 SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS ORDER BY NAME ASC, DATETIME DESC 출력 결과 테이블에 포함되어야 하는 컬럼들을 SELECT 문에 순서대로 포함 이름 순으로 조회하되 이름이 같은 경우 나중에 보호하기 시작한 동물을 보여줘야 함 → 이름 오름차순, 보호 시작일 .. 2024. 1. 29. [프로그래머스 / MySQL] 상위 n개 레코드 문제 💡 동물 보호소에 가장 먼저 들어온 동물의 이름을 조회하는 SQL 문을 작성해주세요. 테이블 형태 풀이 SELECT NAME FROM ANIMAL_INS ORDER BY DATETIME LIMIT 1 해설 SELECT NAME FROM ANIMAL_INS ORDER BY DATETIME LIMIT 1 가장 먼저 들어온 동물은 보호 시작일이 가장 오래된 동물이므로 ORDER BY 로 기본 오름차순 정렬 LIMIT 1으로 출력 개수 제한을 1개로 설정 2024. 1. 29. 이전 1 2 다음