SQL_알고리즘
Updated:
기본
- 여러 기준으로 정렬
ORDER BY x, y desc
- 상위 1개
- 정렬후
LIMIT 1
SUM, MAX, MIN
- 최댓값 구하기
SELECT MAX(DATETIME) AS 시간
FROM ANIMAL_INS
- 개수 구하기
SELECT COUNT(*) AS count
FROM ANIMAL_INS
- 중복제거 NULL제거
SELECT COUNT(DISTINCT NAME) AS count
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
- DATETIME에서 HOUR확인
HOUR(DATETIME)
- SET사용(입양시간구하기(2) FROM PROGRAMMERS)
- SET: 변수와 같은 역할
- 자동 FOR문
- 값 대입시 :=
SET @TIME :=-1;
SELECT (@TIME := @TIME+1) AS HOUR,
(SELECT COUNT(*)
FROM ANIMAL_OUTS
WHERE @TIME = HOUR(DATETIME)) AS COUNT
FROM ANIMAL_OUTS
WHERE @TIME < 23
null
- null 처리
- 만약 null이면 ‘NO name’
SELECT ANIMAL_TYPE, IFNULL(NAME,'NO name'), SEX_UPON_INTAKE
FROM ANIMAL_INS
JOIN
-
INNER JOIN ~ ON ~
-
없어진 기록 찾기
- 천재지변으로 인해 일부 데이터가 유실되었습니다. 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID 순으로 조회하는 SQL문을 작성해주세요.
SELECT OUTS.ANIMAL_ID, OUTS.NAME
FROM ANIMAL_OUTS OUTS LEFT OUTER JOIN ANIMAL_INS INS ON OUTS.ANIMAL_ID = INS.ANIMAL_ID
WHERE INS.ANIMAL_ID IS NULL
CASE
CASE
WHEN 조건 THEN 특정한 다른 값
WHEN 조건 THEN 특정한 다른값
ELSE 조건이 아닌 경우
END
형변환
SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME,'%Y-%m-%d')
FROM ANIMAL_INS
Leave a comment