반응형

전체 글 87

[MYSQL] PROGRAMMERS_루시와 엘라 찾기

SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE 1=1 AND NAME in ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty') ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냄 문제 동물 보호소에 들어온 동물 중 이름이 Lucy, Ella, Pickle, Rogan, Sabrina, Mitty인 동물의 아이디와 이름, 성별 및 중성화 여부를 조회하는 SQL 문을 작성 in 구문을 사용 하여서 해당 동물의 이..

[MYSQL] PROGRAMMERS_최솟값 구하기

SELECT min(DATETIME) as 시간 FROM ANIMAL_INS ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냄 문제 동물 보호소에 가장 먼저 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성 쉬운 문제이다. 가장 먼저 들어온 시간은 날짜가 가장 작은 숫자 여야 하므로 SELECT 문에서 최소값을 구하는 min 함수를 써서 해결하였다.

[MYSQL] PROGRAMMERS_자동차 평균 대여 기간 구하기

SELECT CAR_ID, ROUND(AVG(datediff(END_DATE,START_DATE)+1),1)AVERAGE_DURATION FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY where 1=1 GROUP BY 1 HAVING AVERAGE_DURATION >= 7 ORDER BY 2 desc,1 desc CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블은 아래와 같은 구조로 되어있으며, HISTORY_ID, CAR_ID, START_DATE, END_DATE 는 각각 자동차 대여 기록 ID, 자동차 ID, 대여 시작일, 대여 종료일을 나타냄 문제 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 평균 대여 기간이 7일 이상인 자동차들..

[MYSQL] PROGRAMMERS_조건에 부합하는 중고거래 상태 조회하기

SELECT BOARD_ID, WRITER_ID, TITLE, PRICE, CASE WHEN STATUS = "SALE" then "판매중" WHEN STATUS = "RESERVED" then "예약중" WHEN STATUS = "DONE" then "거래완료" end as STATUS FROM USED_GOODS_BOARD WHERE 1=1 AND CREATED_DATE = "2022-10-05" order by 1 desc BOARD_ID, WRITER_ID, TITLE, CONTENTS, PRICE, CREATED_DATE, STATUS, VIEWS은 게시글 ID, 작성자 ID, 게시글 제목, 게시글 내용, 가격, 작성일, 거래상태, 조회수를 의미 문제 USED_GOODS_BOARD 테이블에서 2..

[MYSQL] PROGRAMMERS_재구매가 일어난 상품과 회원 리스트 구하기

SELECT USER_ID,PRODUCT_ID FROM ONLINE_SALE GROUP BY USER_ID,PRODUCT_ID having count(USER_ID) > 1 ORDER BY 1,2 desc ONLINE_SALE_ID, USER_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE는 각각 온라인 상품 판매 ID, 회원 ID, 상품 ID, 판매량, 판매일을 나타냄 문제 ONLINE_SALE 테이블에서 동일한 회원이 동일한 상품을 재구매한 데이터를 구하여, 재구매한 회원 ID와 재구매한 상품 ID를 출력하는 SQL문을 작성. 결과는 회원 ID를 기준으로 오름차순 정렬 후 회원 ID가 같다면 상품 ID를 기준으로 내림차순 정렬 해당 문제는 having으로 처리하면 간단한 문제..

[MYSQL] PROGRAMMERS_가격대 별 상품 개수 구하기

SELECT truncate(PRICE,-4) as PRICE_GROUP, COUNT(PRODUCT_CODE) as PRODUCTS FROM PRODUCT group by 1 order by 1 PRODUCT_ID, PRODUCT_CODE, PRICE는 각각 상품 ID, 상품코드, 판매가를 나타냅니다. 문제 PRODUCT 테이블에서 만원 단위의 가격대 별로 상품 개수를 출력하는 SQL 문을 작성후 컬럼명은 각각 컬럼명은 PRICE_GROUP, PRODUCTS로 지정, 가격대 정보는 각 구간의 최소금액(10,000원 이상 ~ 20,000 미만인 구간인 경우 10,000)으로 표시. 결과는 가격대를 기준으로 오름차순 정렬 솔직히 이 문제는 어떻게 풀어야 하나 하다 case when 구문으로 구간별로 하나하나..

[MYSQL] PROGRAMMERS_3월에 태어난 여성 회원 목록 출력하기

SELECT MEMBER_ID, MEMBER_NAME, GENDER, DATE_FORMAT(DATE_OF_BIRTH,"%Y-%m-%d")as DATE_OF_BIRTH FROM MEMBER_PROFILE WHERE 1=1 AND MONTH(DATE_OF_BIRTH) =03 AND GENDER = "W" AND TLNO IS NOT NULL ORDER BY 1 MEMBER_ID, MEMBER_NAME, TLNO, GENDER, DATE_OF_BIRTH는 회원 ID, 회원 이름, 회원 연락처, 성별, 생년월일을 의미 문제 MEMBER_PROFILE 테이블에서 생일이 3월인 여성 회원의 ID, 이름, 성별, 생년월일을 조회하는 SQL문을 작성후 전화번호가 NULL인 경우는 출력대상에서 제외시키고, 결과는 회원I..

[MYSQL] PROGRAMMERS_성분으로 구분한 아이스크림 총 주문량

SELECT INGREDIENT_TYPE, sum(TOTAL_ORDER) as TOTAL_ORDER FROM FIRST_HALF as f, ICECREAM_INFO as i WHERE f.FLAVOR = i.FLAVOR GROUP BY 1 ORDER BY TOTAL_ORDER asc FLAVOR, INGREDITENT_TYPE 은 각각 아이스크림 맛, 아이스크림의 성분 타입을 나타낸다. INGREDIENT_TYPE에는 아이스크림의 주 성분이 설탕이면 sugar_based라고 입력되고, 아이스크림의 주 성분이 과일이면 fruit_based라고 입력된다. ICECREAM_INFO의 기본 키는 FLAVOR이다. ICECREAM_INFO테이블의 FLAVOR는 FIRST_HALF 테이블의 FLAVOR의 외래 키이..

[MYSQL] PROGRAMMERS_조건에 맞는 도서와 저자 리스트 출력하기

SELECT BOOK_ID, AUTHOR_NAME, DATE_FORMAT(PUBLISHED_DATE,"%Y-%m-%d")as PUBLISHED_DATE FROM BOOK as b, AUTHOR as a WHERE b.AUTHOR_ID = a.AUTHOR_ID AND CATEGORY = "경제" ORDER BY 3 문제 '경제' 카테고리에 속하는 도서들의 도서 ID(BOOK_ID), 저자명(AUTHOR_NAME), 출판일(PUBLISHED_DATE) 리스트를 출력하는 SQL문을 작성 결과는 출판일을 기준으로 오름차순 정렬 크게 어려울것 없이 두개의 테이블을 조인하여 조건문 처리 후 정렬하는 문제로 보인다. 따라서 간단히 두테이블을 alias 처리하여 조인해 주고 조인 기준은 where 조건으로 처리해 줬다..

[MYSQL] PROGRAMMERS_상품 별 오프라인 매출 구하기

SELECT PRODUCT_CODE, sum(PRICE * SALES_AMOUNT)SALES FROM PRODUCT as p, OFFLINE_SALE as o WHERE p.PRODUCT_ID = o.PRODUCT_ID GROUP BY 1 ORDER BY 2 desc, 1 OFFLINE_SALE_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE는 각각 오프라인 상품 판매 ID, 상품 ID, 판매량, 판매일을 나타냄 문제 PRODUCT 테이블과 OFFLINE_SALE 테이블에서 상품코드 별 매출액(판매가 * 판매량) 합계를 출력하는 SQL문을 작성. 결과는 매출액을 기준으로 내림차순 정렬후 매출액이 같다면 상품코드를 기준으로 오름차순 정렬 두 테이블을 조인 하여 나오는 값을 통해 각..

반응형