1. DATE 타입
- YEAR(컬럼명)
- 연도 추출
- MONTH(컬럼명)
- 월 추출
- DAYOFMONTH(컬럼명)
- 일 추출
- 뽑은 값을 비교할 때는 '' 안에 숫자 넣어서 비교
- DATETIME끼리 비교할 때 >, <로 비교하면 된다
- 날짜1 > 날짜 2
- 날짜 1이 날짜 2보다 더 나중인지 확인
- 즉, 값이 더 클수록 더 나중인 것
- 날짜1 > 날짜 2
2. 값 비교
= 하나로 비교
3. MAX, MIN
- 숫자와 DATETIME 모두 MAX, MIN 으로 행 추출 가능
- 그런데 MAX, MIN으로 추출한 특정 행 말고 해당 행의 다른 열이 필요할 때
- 서브쿼리 사용
SELECT NAME
FROM ANIMAL_INS A
WHERE A.DATETIME =
(SELECT MIN(DATETIME)
FROM ANIMAL_INS b
) - LIMIT 사용
- SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME
LIMIT 1
- SELECT NAME
- 서브쿼리 사용
4. LIMIT
- 전체 데이터 중 LIMIT에 제한한 개수의 행만 보여주도록 함
- SELECT * FROM T LIMIT 2
- T테이블에 있는 행 중 맨 위 2개만 보여줌
5. IFNULL
- 추출한 값이 NULL일 경우의 처리
- IFNULL(컬럼명, '컬럼 값이 NULL 일 경우 대체 값') AS 출력할 컬럼 이름
6. IN
- OR 조건 여러 개를 한 번에 넣는 거라고 볼 수 있다
- IN 안에 있는 것 중 하나와 일치하면 맞는 것이라고 인정 된다
- SELECT F.FLAVOR
FROM FIRST_HALF F
WHERE F.TOTAL_ORDER > 3000
AND F.FLAVOR IN (
SELECT I.FLAVOR
FROM ICECREAM_INFO I
WHERE INGREDIENT_TYPE = 'fruit_based'
)
ORDER BY F.TOTAL_ORDER DESC
7. AVG
- 평균을 구할 때 사용
- AVG(컬럼명)
8. ROUND
- 소수점이 있는 특정 값을 반올림 할 때 사용
- ROUND(값)
- 소수점 첫째자리에서 반올림한 값 출력
- 소수점이 안 보이게 됨
- ROUND(값, 자릿수)
- 해당 소수점 자릿수까지 보이게 반올림한 값 출력
9. DATE_FORMAT
- DATE 형식의 값을 내가 원하는 형식으로 출력할 수 있게 해 줌
- DATE_FORMAT(컬럼 명, '표현 형식')
- %Y-%m-%d: 2020-02-02
%Y | 4자리 년도 |
%m |
숫자 월 (무조건 두자리 ) |
%y |
2자리 년도 |
%c |
숫자 월(한자리는 한자리) |
%M |
긴 월(영문) |
%d |
일자 (무조건 두자리) |
%e |
일자(한자리는 한자리) |
10. LEFT, RIGHT
- 문자열의 왼쪽, 오른쪽 특정 글자수를 반환
- LEFT(컬럼명, 2)
- RIGHT(컬럼명, 2)
11. SUBSTRING
- 문자열의 특정 부분을 반환
- SUBSTRING(문자열, 시작위치, 길이)
- 시작위치는 0부터 시작
12. HAVING
- GROUP BY 한 결과에 조건을 달고 싶을 때 사용
- 계산된 결과에 대한 조건 달고 싶을 때도 and 대신 이걸 써야 한다
13. UNION
- 하나의 SELECT 결과와 또 다른 하나의 SELECT 결과를 합칠 때 사용
- 각 SELECT 결과의 컬럼명과 데이터 타입이 같아야 UNION이 가능함
- 내부적으로 중복된 데이터는 출력하지 않음
- 중복된 데이터까지 출력하고 싶으면 UNION ALL을 사용하면 됨
14. IS NULL
- 해당 값이 NULL값인지 아닌지 확인
- WHERE I.ANIMAL_ID IS NULL
15. DISTINCT
- 중복되는 행 있을 때 중복 행 빼고 출력해줌
- select 맨 앞에 써 주면 됨
16. LIKE
- 특정 문자열 조건을 줄 수 있다.
- like 'abc%' 은 abc로 시작하는 문자열을 의미
- like '%abc' 은 abc로 끝나는 문자열을 의미
- like '_abc' 은 네글자중 뒤 세글자가 abc인 문자열을 의미
'SQL' 카테고리의 다른 글
MYSQL JOIN (0) | 2023.06.10 |
---|