예시)
WITH RENT AS(SELECT car_id
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE '2022-10-16' BETWEEN start_date AND end_date)
SELECT DISTINCT car_id
,IF (car_id in (table rent), '대여중','대여 가능') AVAILABILITY
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
ORDER BY 1 DESC
* 가져오는 행이 여러개일 경우 = 이 아니라 IN을 사용한다.
예시) 'milk'와 ' yogurt' 가 모두 담긴 cart_id 구하기
SELECT CART_ID
-- 우유와 요거트만 있는 행을 추출하여 테이블처럼 사용함
FROM
(SELECT CART_ID, NAME
FROM CART_PRODUCTS
WHERE NAME LIKE '%YOGURT%'
UNION
SELECT CART_ID, NAME
FROM CART_PRODUCTS
WHERE NAME LIKE '%MILK%'
) A
GROUP BY CART_ID
HAVING COUNT(CART_ID) > 1
ORDER BY CART_ID
SELECT ID, NAME, HOST_ID
FROM places
-- 추출된 host_id들과 본식의 host_id의 값이 일치하면 SELECT 한다.
WHERE HOST_ID IN (SELECT host_id
FROM places
GROUP BY host_id
HAVING COUNT(id) >= 2)
ORDER BY id
[SQL] window function(집계, 순위, 데이터 위치) (0) | 2024.07.18 |
---|---|
[SQL] WEEK 4 TUES - COUNT() 정리 (1) | 2024.07.17 |
[SQL] 3개 이상의 테이블 조인 (0) | 2024.07.05 |
[SQL] 조건에 맞는 정보 조회( JOIN, SUBQUERY(FROM, WHERE), WITH) (0) | 2024.07.04 |
[SQL]날짜 데이터 가져오기(DATE_FORMAT, YEAR) (0) | 2024.07.03 |