푼 날짜 : 2024.11.02푼 문제 : 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기사용한 언어 : MYSQL 코드 :SELECT CAR_ID, CASE WHEN MAX('2022-10-16' BETWEEN START_DATE AND END_DATE) = 1 THEN '대여중' ELSE '대여 가능' END AS AVAILABILITYFROM CAR_RENTAL_COMPANY_RENTAL_HISTORYGROUP BY CAR_IDORDER BY CAR_ID DESC 풀이 방식 :시작 날짜(START_DATE) 또는 종료 날짜(END_DATE)에 2022-10-16에 포함되어 있어야한다.그리고 그렇다면 '대여 가능' 아니라면 '대여중'을 출력해야한다.SEL..
푼 날짜 : 2024.10.30푼 문제 : 카테고리 별 도서 판매량 집계하기사용한 언어 : MYSQL 코드 :SELECT B.CATEGORY, SUM(S.SALES) as TOTAL_SALESFROM BOOK_SALES as S JOIN BOOK as B ON S.BOOK_ID = B.BOOK_ID # 두 테이블 조인WHERE S.SALES_DATE LIKE "2022-01-%" # 2022-01 판매량을 확인하기 위해GROUP BY B.CATEGORY # 카테고리를 기준으로 그룹화ORDER BY B.CATEGORY # 카테고리 기준 오름차순 정렬 풀이 방식 : 정보가 각각 담겨있는 두 테이블을 조인한다. 이때 공통적으로 가지고 있는 BOOK_ID를 기준으로 조인했다.FROM BOOK_SALES as ..
날짜 비교하는 방법을 정리해보려고 한다! 먼저 BETWEEN A AND B를 사용하는 방법WHERE 날짜 BETWEEN A AND BWHERE 날짜 BETWEEN '2023-01-01' AND '2024-12-31' 또는 부등호를 사용하는 방법WHERE 날짜 >= AWHERE 날짜 >= '2024-10-17 23:59:59' 이런식으로 사용할 수 있다! 적용하기 푼 날짜 : 2024.10.17푼 문제 : 진료과별 총 예약 횟수 출력하기사용한 언어 : MYSQL 코드 :BETWEEN A AND B SELECT MCDP_CD as 진료과코드, COUNT(APNT_YMD) as 오월예약건수FROM APPOINTMENTWHERE APNT_YMD between '2022-05-01 00:00:00' and '2..
SQL 을 풀다보면 문자열을 잘라 사용해야 할 때가 있다.이때 필요한게 바로 SUBSTRING !! SUBSTRING('문자열', 시작위치)SUBSTRING('문자열', 시작위치, 몇 개나 가져올지) 예를 들어 문자열 : "HAPPY"SUBSTRING(HAPPY, 1, 2) 하고 한다면,결과는 HA 가 된다. 적용하기 푼 날짜 : 2024.10.17푼 문제 : 카테고리 별 상품 개수 구하기사용한 언어 : MYSQL 코드 :SELECT SUBSTRING(PRODUCT_CODE, 1, 2) as CATEGORY, COUNT(PRODUCT_CODE) as PRODUCTSFROM PRODUCTGROUP BY SUBSTRING(PRODUCT_CODE, 1, 2)
SQL을 사용하다보면 종종 기존의 컬럼명이 아닌 별칭을 사용하게 되는 경우가 발생한다. 따라서, SQL에서 보통 컬럼 별칭을 사용할 때에는 as를 사용한다.SELECT 컬럼명 as 컬럼별칭 위와 같은 형태로 작성할 수 있다. 예시로, 학생들 중 가장 큰 키(HEIGHT)를 가진 학생의 키를 MAX_HEIGHT로 출력한다고 가정하자.다음과 같이 작성할 수 있다.SELECT MAX(HEIGHT) as MAX_HEIGHTFROM STUDENT 이렇게 HEIGHT 라는 컬럼명을 MAX_HEIGHT로 바꾸어 출력할 수 있다. 그렇다면 값에 다른 문자열을 추가할 때는 어떻게 하면 좋을까 ?답은 concat을 사용하는 것이다. 형태는 다음과 같다.SELECT concat('str1', 'str2', 'str3' ..