SQL 28

[Lv.3] ★ 물고기 종류 별 대어 찾기 [subQuery, WHERE, JOIN]

문제 해석 1. FISH_NAME_INFO에 있는 물고기들을 FISH_TYPE에 따라 가장 큰 물고기 길이를 반환할 것.2. 물고기 ID에 대해 오름차순 정렬할 것  문제 해결을 위한 개념 정리 ✅ where 아래 자료 참고 이름에 el이 들어가는 동물 찾기 [where]문제 파악 출력할 컬럼 : 개의 아이디, 이름 ⇒ SELECT 데이터를 가져올 테이블 : ANIMAL_INS ⇒ FROM 조회 순서 : 이름 순 ⇒ ORDER BY 적용할 조건 : 이름에 “EL”이 들어간다 ⇒ WHERE 문제 해결을 위한 쿼seheehee.tistory.com ✅ JOIN아래 자료 참고 과일로 만든 아이스크림 고르기 [LEFT JOIN]문제 해결을 위한 개념 정리  ✅ LEFT JOIN1) JOIN 2) LEFT JOI..

[Lv.1] 조건에 맞는 도서 리스트 출력하기 [YEAR, DATE_FORMAT]

문제 해결을 위한 개념 정리 ✅ DATE_FORMAT아래 자료 참고 흉부외과 또는 일반외과 의사 목록 출력하기[DATE_FORMAT]문제 해결을 위한 개념 정 ✅ DATE_FORMAT: 날짜 포맷팅 함수→ DATE_FORMAT(DATE, 'FORMAT') FORMAT설명FORMAT설명%Y4자리 년도(1999, 2024)%y2자리 년도(99, 24)%M월(Janeary, May...)%m월(01, 02..)%D일(1st, 2nd...)%d일(01, 25...)seheehee.tistory.com ✅ YEAR아래 자료 참고 조건에 부합하는 중고거래 댓글 조회하기[DATE_FORMAT, YEAR, MONTH]문제 해결을 위한 개념 정리 ✅ DATE_FORMAT아래 자료 참고 흉부외과 또는 일반외과 의사 목록 ..

[Lv.1] 12세 이하인 여자 환자 목록 출력하기[IFNULL, IF, CASE WHEN, COALESCE]

문제 해결을 위한 개념 정리 ✅ IFNULL ⇒  컬럼에 있는 값이 Null이면 대체할 값을 표기하고, Null이 아니면 그대로 값을 출력한다 IFNULL(NAME, “No name”)  ✅NULL을 다른 값으로 반환하는 함수들  ⇒ COALESCE(컬럼 명, 대체할 값)COALESCE(name,"No name")>> 컬럼 N개 추가 가능COALESCE(컬럼1, 컬럼2, "No name")⇒  COALESCE(컬럼1, 컬럼2, 대체할 값): 컬럼1 값이 Null이면 컬럼2 값 반환, 컬럼2 값이 Null이면 대체할 값 반환⇒ IF(조건식, 두번째 인자, 세 번째 인자): 조건식의 결과가 True면 두번째 인자를 반환하고, False라면 세 번째 인자를 반환IF(Name IS NOT NULL, NAME, ..

[Lv.1] 인기있는 아이스크림 [SELECT, ORDER BY]

문제 해결을 위한 개념 정리 ✅ SELECT, ORDER BY아래 자료 참고 여러 기준으로 정렬하기 [select, order by desc]문제 파악 출력할 컬럼 : ANIMAL_ID, NAME, DATETIME ⇒ SELECT 데이터를 가져올 테이블 : ANIMAL_INS ⇒ FROM 조회 순서 : NAME, DATETIME 내림차순 ⇒ ORDER BY 문제 해결을 위한 쿼리문 ✅ select columns from databases; 데seheehee.tistory.com 문제 해결 코드 SELECT FLAVORFROM FIRST_HALFORDER BY TOTAL_ORDER DESC, SHIPMENT_ID ASC;

[Lv.1] 조건에 부합하는 중고거래 댓글 조회하기[DATE_FORMAT, YEAR, MONTH]

문제 해결을 위한 개념 정리 ✅ DATE_FORMAT아래 자료 참고 흉부외과 또는 일반외과 의사 목록 출력하기[DATE_FORMAT]문제 해결을 위한 개념 정 ✅ DATE_FORMAT: 날짜 포맷팅 함수→ DATE_FORMAT(DATE, 'FORMAT') FORMAT설명FORMAT설명%Y4자리 년도(1999, 2024)%y2자리 년도(99, 24)%M월(Janeary, May...)%m월(01, 02..)%D일(1st, 2nd...)%d일(01, 25...)seheehee.tistory.com  ✅ YEAR, MONTH1) YEAR() 함수 → 1000~9999 사이의 숫자로 반환되며, 날짜에서 '년도'만 반환YEAR('2021-09-03 02:23:44')>> 2021 2) MONTH() 함수→ 1~1..

[Lv.2] 3월에 태어난 여성 회원 목록 출력하기[DATE_FORMAT, IS NOT NULL]

문제 해결을 위한 개념 정리 ✅ DATE_FORMAT참고자료 흉부외과 또는 일반외과 의사 목록 출력하기[DATE_FORMAT]문제 해결을 위한 개념 정 ✅ DATE_FORMAT: 날짜 포맷팅 함수→ DATE_FORMAT(DATE, 'FORMAT') FORMAT설명FORMAT설명%Y4자리 년도(1999, 2024)%y2자리 년도(99, 24)%M월(Janeary, May...)%m월(01, 02..)%D일(1st, 2nd...)%d일(01, 25...)seheehee.tistory.com ✅ IS NOT NULL참고자료 NULL 처리하기 [ifnull, coalesce]문제 파악출력할 컬럼 : ANIMAL_TYPE, NAME, SEX_UPON_INTAKE ⇒ SELECT데이터를 가져올 테이블 : ANIMA..

[Lv.1] 과일로 만든 아이스크림 고르기 [LEFT JOIN]

문제 해결을 위한 개념 정리  ✅ LEFT JOIN1) JOIN 2) LEFT JOIN: LEFT 테이블을 기준으로 ON으로 걸어준 조건을 만족하는 다른 테이블의 값들을 가져와 붙임# 예시코드SELECT I.ANIMAL_ID, I.NAMEFROM ANIMAL_INS I LEFT JOIN ANIMAL_OUTS O # alias 이용>> ANIMAL_INS 테이블을 기준으로 JOIN하므로>> ANIMAL_INS 테이블의 모든 값(ON 조건 만족 안하는 row도 모두 출력)과>> ANIMAL_INS 테이블과 `ANIMAL_ID` 가 동일한 값들을 가지는 ANIMAL_OUTS 테이블의 row를 붙여줍니다.  ** ALIAS : 테이블 별칭▶ 같은 컬럼명을 가진 두 개의 테이블일 경우 꼭꼭 ALIAS 이용하자! ..

[Lv.1] 흉부외과 또는 일반외과 의사 목록 출력하기[DATE_FORMAT]

문제 해결을 위한 개념 정 ✅ DATE_FORMAT: 날짜 포맷팅 함수→ DATE_FORMAT(DATE, 'FORMAT') FORMAT설명FORMAT설명%Y4자리 년도(1999, 2024)%y2자리 년도(99, 24)%M월(Janeary, May...)%m월(01, 02..)%D일(1st, 2nd...)%d일(01, 25...)%W요일(Sunday, Monday...)%w요일(0,1,2...) / 0:일요일 📍 추가 참고 자료  4.04.2 날짜 관련 함수#### 4.4.2 날짜 관련 함수 날짜 데이터를 다루려면 STR_TO_DATE, DATE_FORMAT, DATE_ADD와 같은 함수를 기억해야 한다. STR_TO_DATE는…wikidocs.net  문제 해결 코드   SELECT DR_NAME, D..

[Lv.1] 평균 일일 대여 요금 구하기 [SELECT, ROUND]

출력할 컬럼 : AVERAGE_FEE   ⇒ SELECT 데이터를 가져올 테이블 : CAR_RENTAL_COMPANY_CAR   ⇒ FROM조건 : 자동차의 종류가 'SUV'  ⇒ WHERE출력 조건 : 소수 첫 번째 자리에서 반올림  ⇒ ROUND\ 문제 해결을 위한 개념 정리 ✅ ROUND: 소수점 반올림 함수1) 사용 방법 → ROUND(수치값, 반올림 자릿수) 2) 사용 예시SELECT ROUND(123.567,0) >> 소수점 모두 반올림 ROUND(123.567,1) >> 소수점 첫 번째 자리까지 반올림 = 소수점 두 번째 자리에서 반올림 ROUND(123.567,2) >> 소수점 두 번째 자리까지 반올림 >> 124 >> 1..

[Lv.2] 자동차 평균 대여기간 구하기 [datediff, timediff, avg, round]

문제 파악출력할 컬럼 : 자동차 ID, 평균 대여 기간(AVERAGE_DURATION) → SELECT가져올 테이블 : CAR_RENTAL_COMPANY_RENTAL_HISTORY → FROM요구조건 1 : 자동차 ID별 평균 대여기간 집계 CAR_ID → group by요구조건 2 : 평균 대여 기간 7일 이상인 자동차만 출력  → having정렬 순서: 평균 대여 기간을 기준으로 내림차순, 자동차 ID기준 내림차순 → Order by 문제 해결 과정 💡 DATEDIFF()✅ 두 기간 사이의 일수를 계산하는 함수  format : DATEDIFF(종료일, 시작일)SELECT DATEDIFF('2021-01-07','2021-01-01')>> 6 ⚡ 주의할 점 !!⇒ 날짜에 시간이 포함되어 있는 경우,..