• DATE_FORMAT 메서드
"2020-01-01" 형태로 날짜가 들어올때
date_format(published_date,'%Y-%m-%d')
//2020-07-01
• LIMIT , OFFSET
상위 N개를 가져와야 할때 쿼리문 마지막에 LIMIT N; 을 붙여준다
OFFSET을 사용하면 시작할 위치를 정할 수 있다
LIMIT 3, OFFSET 3 하면 4번째 줄 부터 4,5,6번째 줄의 데이터를 가져온다
SELECT
F.FLAVOR
FROM
FIRST_HALF F, JULY J
WHERE
F.FLAVOR = J.FLAVOR
GROUP BY
F.FLAVOR
ORDER BY (F.TOTAL_ORDER + SUM(J.TOTAL_ORDER)) DESC
LIMIT 3;
• ROUND(A,B) 함수
B자리에 뭐 없이 하면 1의 자리에서 반올림 ROUND(1234.1234) 하면 1234
B가 -1이면 10의 자리. -2면 100의 자리..
B가 1이면 소수점 첫재자리, B가 2면 소수점 둘째자리..
SELECT
A.CAR_ID,
A.CAR_TYPE,
ROUND(A.DAILY_FEE*30*(1-B.DISCOUNT_RATE*0.01)) AS FEE
FROM
CAR_RENTAL_COMPANY_CAR A
JOIN CAR_RENTAL_COMPANY_DISCOUNT_PLAN B
ON A.CAR_TYPE=B.CAR_TYPE
WHERE A.CAR_ID NOT IN (
SELECT DISTINCT C.CAR_ID
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY C
WHERE C.START_DATE<='2022-11-30' AND C.END_DATE>='2022-11-01'
)
AND A.CAR_TYPE IN('SUV', '세단')
AND B.DURATION_TYPE = '30일 이상'
AND A.DAILY_FEE*30*(1-B.DISCOUNT_RATE*0.01)>=500000
AND A.DAILY_FEE*30*(1-B.DISCOUNT_RATE*0.01)<2000000
ORDER BY FEE DESC, CAR_TYPE ASC, CAR_ID DESC;
빈 컬럼 널로 채우기
https://school.programmers.co.kr/learn/courses/30/lessons/131537
Null as USER_ID
• 실패한 문제
https://school.programmers.co.kr/learn/courses/30/lessons/273711
• WHERE 'KEYWORD' IN(COL1,COL2..)
SELECT ID, EMAIL, FIRST_NAME, LAST_NAME FROM DEVELOPER_INFOS
WHERE 'Python' IN (SKILL_1,SKILL_2,SKILL_3)
ORDER BY ID;
SKILL_1..2..3 중에 Python이 있는 지 판별할 수 있다
• 비트연산자를 이용한 문제
https://school.programmers.co.kr/learn/courses/30/lessons/276034
SELECT ID, EMAIL, FIRST_NAME, LAST_NAME FROM DEVELOPERS
WHERE
SKILL_CODE & (SELECT CODE FROM SKILLCODES WHERE NAME = 'C#') > 0
OR
SKILL_CODE & (SELECT CODE FROM SKILLCODES WHERE NAME = 'Python') > 0
ORDER BY ID;
D162번 개발자의 경우 SKILL_CODE가 8452 = 8192 + 256 +4 로 Vue, Python, Cpp 스킬을 보유하고 있습니다.
D164번 개발자의 경우 SKILL_CODE가 1024 로 C# 스킬을 보유하고 있습니다.
D165번 개발자의 경우 SKILL_CODE가 400 = 256 + 128 + 16 으로 Python, Java, JavaScript 스킬을 보유하고 있습니다.
등으로 조건이 들어왔는데 c#, 파이썬 등의 언어 코드가 2^n으로 들어왔다
둘이 & 연산해서 0보다 크면 일치하는 코드가 포함된 것
'SQL' 카테고리의 다른 글
상품을 구매한 회원 비율 구하기 - 플머 (0) | 2024.12.04 |
---|---|
그룹별 조건에 맞는 식당 목록 출력하기 - 프로그래머스 (1) | 2024.12.03 |
오프라인/온라인 판매 데이터 통합하기 (0) | 2024.11.22 |
조건에 맞는 회원수 구하기(DATE 문자열 변환) (0) | 2024.11.19 |
상위 N개 레코드(N개 출력 - ROWNUM, FROM 절 서브쿼리) (1) | 2024.11.19 |