728x90
SMALL

-- 코드를 입력하세요

SELECT

T1.ANIMAL_ID,

T1.NAME

from

ANIMAL_INS T1,

ANIMAL_OUTS T2

where T1.ANIMAL_ID = T2.ANIMAL_ID and

T1.DATETIME > T2.DATETIME

order by T1.DATETIME

728x90

설정

트랙백

댓글

728x90
SMALL

-- 코드를 입력하세요

SELECT DISTINCT T1.CART_ID

from CART_PRODUCTS T1,

CART_PRODUCTS T2

where

T1.CART_ID = T2.CART_ID and

T1.NAME = 'Yogurt' and

T2.NAME = 'Milk'

order by T1.CART_ID

/// 셀프 조인을 이용하는 방법도 있고

SELECT CART_ID

FROM CART_PRODUCTS

WHERE NAME = 'Yogurt'

INTERSECT

SELECT CART_ID

FROM CART_PRODUCTS

WHERE NAME = 'Milk'

ORDER BY CART_ID

/// INTERSECT를 이용하는 법도 있다.

728x90

설정

트랙백

댓글

728x90
SMALL

-- 코드를 입력하세요
SELECT NAME, DATETIME
FROM ANIMAL_INS
order by ANIMAL_ID DESC

728x90

설정

트랙백

댓글

728x90
SMALL

-- 코드를 입력하세요

SELECT

NAME,

COUNT(NAME) as count

from ANIMAL_INS

group by NAME HAVING count(NAME) > 1

order by NAME;

728x90

설정

트랙백

댓글

728x90
SMALL

-- 코드를 입력하세요
SELECT CAR_ID,
MAX(case when '2022-10-16' BETWEEN TO_CHAR(START_DATE, 'YYYY-MM-DD') and TO_CHAR(END_DATE, 'YYYY-MM-DD') then '대여중'
else '대여 가능'
end) as AVAILABILITY
from CAR_RENTAL_COMPANY_RENTAL_HISTORY
group by CAR_ID
order by CAR_ID DESC;

 

--- 대여중의 Char가 대여 가능 보다 값이 크기 때문에 MAX로 하면 대여중이 하나라도 있으면 대여중 값이 튀어나오게 되도록 설계 되어 있다.

728x90

설정

트랙백

댓글

728x90
SMALL

-- 코드를 입력하세요
SELECT 

l.hour, 

nvl(count, 0) AS count
FROM (SELECT TO_CHAR(datetime, 'HH24') AS hour, count(*) AS count 
        FROM animal_outs 
        GROUP BY TO_CHAR(datetime, 'HH24') 
        ORDER BY hour) O, 
        (SELECT LEVEL-1 AS hour FROM dual CONNECT BY LEVEL<=24) L
WHERE L.hour = O.hour(+)
ORDER BY L.hour;

 

/// 몰라서 다른 분 거를 참고했다. 'HH24'는 알았는데 CONNECT BY LEVEL 이거는 몰랐다.

728x90

설정

트랙백

댓글

728x90
SMALL

-- 코드를 입력하세요
SELECT CATEGORY,
PRICE as MAX_PRICE,
PRODUCT_NAME
from FOOD_PRODUCT
WHERE (CATEGORY,PRICE) IN ( SELECT CATEGORY, MAX(PRICE) 
                            FROM FOOD_PRODUCT
                            WHERE CATEGORY IN ('과자','국','김치','식용유')
                            GROUP BY CATEGORY)
order by MAX_PRICE DESC

728x90

설정

트랙백

댓글

728x90
SMALL

-- 코드를 입력하세요
SELECT 
HISTORY_ID, 
CAR_ID, 
TO_CHAR(START_DATE, 'YYYY-MM-DD') as START_DATE, 
TO_CHAR(END_DATE, 'YYYY-MM-DD') as END_DATE,
case when (END_DATE - START_DATE) >= 29 then '장기 대여'
else '단기 대여'
end as RENT_TYPE
from CAR_RENTAL_COMPANY_RENTAL_HISTORY
where TO_CHAR(START_DATE, 'YYYY-MM-DD') like '2022-09%'
order by HISTORY_ID DESC;

728x90

설정

트랙백

댓글