Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 안드로이드스튜디오
- 티스토리챌린지
- SQL
- 혼공단
- 혼공파
- 오블완
- 자료구조
- 정보처리기사
- 프로그래머스
- Android
- 코틀린
- Til
- CS
- java
- 혼공챌린지
- 안드로이드
- 알고리즘
- Kotlin
- join
- doitandroid
- 코테
- 인프런
- 스터디
- 정처기
- 카카오코테
- 기술면접
- select
- groupby
- 자바
- MySQL
Archives
- Today
- Total
Welcome! Everything is fine.
[프로그래머스/Lv.3] 대여 기록이 존재하는 자동차 리스트 구하기 - MySQL 본문
728x90
📌 문제
📌 정답
나는 아래와 같이 JOIN을 한 후 LIKE를 이용해 10월에 대여를 시작한 기록이 있는 자동차를 조회하였다.
SELECT CAR_ID
FROM CAR_RENTAL_COMPANY_CAR JOIN CAR_RENTAL_COMPANY_RENTAL_HISTORY USING(CAR_ID)
WHERE CAR_TYPE = '세단' AND START_DATE LIKE '%10-%'
GROUP BY CAR_ID
ORDER BY CAR_ID DESC
다른 답안을 보니 JOIN을 사용하지 않고 IN을 사용해 이중쿼리를 짜거나, MONTH(START_DATE) = 10 와 같이 LIKE를 사용하지 않고 조건을 충족시키는 방법이 있었다.
SELECT CAR_ID
FROM CAR_RENTAL_COMPANY_CAR
WHERE CAR_ID IN (SELECT CAR_ID
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE MONTH(START_DATE) = 10) AND CAR_TYPE = '세단'
ORDER BY CAR_ID DESC
📌 기억할 것
- 날짜와 시간을 추출할 수 있는 함수들이 많다.
- 연도 추출 - YEAR()
- 월 추출 - MONTH()
- 일 추출 - DAYOFMONTH
- 날짜 A에서 날짜 B를 빼기 - DATEDIFF(A, B)
- 오늘 날짜 추출 - CURDATE()
'프로그래머스 > SQL' 카테고리의 다른 글
[프로그래머스/Lv.2] 루시와 엘라 찾기 - MySQL (0) | 2024.03.29 |
---|---|
[프로그래머스/Lv.3] 조건에 맞는 사용자와 총 거래금액 조회하기 - MySQL (0) | 2024.03.21 |
[프로그래머스/Lv.1] 조건에 맞는 도서 리스트 출력하기 - MySQL (0) | 2024.03.21 |
[프로그래머스/Lv.4] 보호소에서 중성화한 동물 - MySQL (0) | 2024.03.20 |
[프로그래머스/Lv.2] 조건에 맞는 아이템들의 가격의 총합 구하기 - MySQL (0) | 2024.03.20 |