2024-10-23 TIL
오늘 배운 것
1. SQL에서 HAVING이 어떤 식으로 사용되는지를 공부했다.
group by로 정렬하는 것은 어느 정도 한계가 있으며 where 절로 정렬하기에는 애매할 때 정렬하는 것으로 이전에도 몇 번 보긴 했지만 정확히 쓰는 법은 몰랐다.
물론 완전히 감을 잡은 건 아니지만 그래도 쓸 수 있고 없고는 차이가 크다고 생각한다.
일단 코딩 테스트는 4~5단계 문제를 제외하면 SQL문제는 대충 풀 수 있을 것 같다.
오늘 푼 문제
CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블과 CAR_RENTAL_COMPANY_DISCOUNT_PLAN 테이블에서 자동차 종류가 ‘세단’ 또는 ‘SUV’ 인 자동차 중 2022년 11월 1일부터 2022년 11월 30일까지 대여 가능하고 30일간의 대여 금액이 50만원 이상 200만원 미만인 자동차에 대해서 자동차 ID, 자동차 종류, 대여 금액(컬럼명: FEE) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 대여 금액을 기준으로 내림차순 정렬하고, 대여 금액이 같은 경우 자동차 종류를 기준으로 오름차순 정렬, 자동차 종류까지 같은 경우 자동차 ID를 기준으로 내림차순 정렬해주세요.
SELECT car.CAR_ID as CAR_ID,car.CAR_TYPE as CAR_TYPE, round(car.DAILY_FEE * 30 * (100 - plan.DISCOUNT_RATE)/100) as FEE
from CAR_RENTAL_COMPANY_CAR car
inner join CAR_RENTAL_COMPANY_RENTAL_HISTORY history
on car.CAR_ID = history.CAR_ID
inner join CAR_RENTAL_COMPANY_DISCOUNT_PLAN plan
on car.CAR_TYPE = plan.CAR_TYPE
where car.CAR_ID not in
(
select CAR_ID
from CAR_RENTAL_COMPANY_RENTAL_HISTORY
where END_DATE > '2022-11-01' AND START_DATE < '2022-12-01'
)
and plan.DURATION_TYPE = '30일 이상'
group by car.CAR_ID
having car.CAR_TYPE in ('세단','SUV') AND (FEE>=500000 AND FEE<2000000)
ORDER BY FEE DESC, CAR_TYPE, CAR_ID DESC;
2. HTML5 + CSS 책 공부
META : 문서에 대한 여러 가지 상세한 정보를 제공한다. 검색 같은 걸 잘 받기 위해선 이 곳에 데이터를 잘 넣어야 한다.
<meta name="description" content="네이버 메인에서 다양한 정보와 유용한 컨텐츠를 만나 보세요" class="__web-inspector-hide-shortcut__">
하나의 데이터에 여러 가지가 들어가 있어도 괜찮기에 네이버 같은 곳은 수십 개가 넘는 메타 데이터가 달려 있다. HTTP헤더를 변경하는 역할도 한다. 변경할 값을 지정하고 content 속성 값을 밝힌다. 자주 사용되는 값은 refresh다.
<meta name="description" http-equiv="refresh" content="갱신주기;새주소">
wbr : 단어가 오른쪽 끝에 닿았을 때 자동 개행할 위치를 지정함.
3. 마크다운 언어와 html 사이에는 적용이 안 되는 것들이 꽤 되는 것 같다.
적어도 br, wbr, hr 같은 건 안 통하는 걸 확인했다.
코드 칸을 입력할 때는 tab 위에 있는 걸 3개 쓰는 식으로 해야 한다. 다른 것들을 써봤더니 작동이 안 된다.
이걸로 30분은 날려 먹었다.
다음에 할 것
- 남은 이틀 동안 뭘 해야 할지 모르겠는데 여전히 코딩테스트와 책 보는 걸 하도록 하자.