티스토리 뷰

코딩/SQL

[SQL - SELECT] 2

ehzim 2024. 4. 29. 23:39

 

# 흉부외과 또는 일반외과 의사 목록 출력하기

 

다음은 종합병원에 속한 의사 정보를 담은DOCTOR 테이블입니다. DOCTOR 테이블은 다음과 같으며 DR_NAME, DR_ID, LCNS_NO, HIRE_YMD, MCDP_CD, TLNO는 각각 의사이름, 의사ID, 면허번호, 고용일자, 진료과코드, 전화번호를 나타냅니다.


DOCTOR 테이블에서 진료과가 흉부외과(CS)이거나 일반외과(GS)인 의사의 이름, 의사ID, 진료과, 고용일자를 조회하는 SQL문을 작성해주세요. 이때 결과는 고용일자를 기준으로 내림차순 정렬하고, 고용일자가 같다면 이름을 기준으로 오름차순 정렬해주세요.

 

 

SELECT DR_NAME, DR_ID, MCDP_CD, date_format(HIRE_YMD,'%Y-%m-%d') as HIRE_YMD
FROM DOCTOR
WHERE MCDP_CD = 'CS' OR MCDP_CD = 'GS'
ORDER BY HIRE_YMD DESC, DR_NAME ASC;

 

 

 

오답

SELECT DR_NAME, DR_ID, MCDP_CD, HIRE_YMD
FROM DOCTOR
WHERE MCDP_CD = 'CS' OR MCDP_CD = 'GS'
ORDER BY HIRE_YMD DESC, DR_NAME ASC;

 

출력 값을 보면 년도-월-일 과 같이 날짜가 표기되어 있다.

그렇기 때문에 그냥 데이터 포맷으로 출력 값을 수정하지 않으면 표기가 다르기 때문에 오답처리가 된다.

 

 

 

 

 

# 재구매가 일어난 상품과 회원 리스트 구하기

 


다음은 어느 의류 쇼핑몰의 온라인 상품 판매 정보를 담은 ONLINE_SALE 테이블 입니다. ONLINE_SALE 테이블은 아래와 같은 구조로 되어있으며 ONLINE_SALE_ID, USER_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE는 각각 온라인 상품 판매 ID, 회원 ID, 상품 ID, 판매량, 판매일을 나타냅니다.




문제
ONLINE_SALE 테이블에서 동일한 회원이 동일한 상품을 재구매한 데이터를 구하여, 재구매한 회원 ID와 재구매한 상품 ID를 출력하는 SQL문을 작성해주세요. 결과는 회원 ID를 기준으로 오름차순 정렬해주시고 회원 ID가 같다면 상품 ID를 기준으로 내림차순 정렬해주세요.

 

Column name Type Nullable
ONLINE_SALE_ID INTEGER FALSE
USER_ID INTEGER FALSE
PRODUCT_ID INTEGER FALSE
SALES_AMOUNT INTEGER FALSE
SALES_DATE DATE FALSE

동일한 날짜, 회원 ID, 상품 ID 조합에 대해서는 하나의 판매 데이터만 존재합니다.

 

 

-- 코드를 입력하세요
SELECT USER_ID, PRODUCT_ID 
from ONLINE_SALE 
group by USER_ID, PRODUCT_ID
having count(*) >=2
order by USER_ID asc, PRODUCT_ID desc;

 

'코딩 > SQL' 카테고리의 다른 글

[SQL - SELECT] 3  (0) 2024.05.10
DB 정리 1  (0) 2024.05.01
date_format  (0) 2024.04.04
SQL 용어 정리 (1)  (1) 2024.01.07
[13주 5일차] 스토어드 프로시저  (1) 2024.01.05
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday