안녕하세요. :-)
SQL문 절안에 사용할 수 있는 함수들에 대해 정리해보겠습니다.
(함수라고 지칭하긴 했지만 구문, 절 안에 사용할 수 있는 모든 것들을 정리해보려고 합니다..!)
비교 연산자
연산자 | 설명 |
< | 미만 |
> | 초과 |
= | 같다 |
<> | 같지 않다 |
다양한 구문
연산자 | 설명 |
IN(컬럼, 컬럼, ...) | 포함 |
BETWEEN 컬럼 IN 컬럼 | 사이 |
LIKE | ~처럼 비슷한 값 |
여러가지 조건의 적용
연산자 | 설명 |
AND | 그리고, 조건 계속 붙일 때 사용 |
OR | 또는 |
NOT | 제외한 값 조건 붙일 때 |
숫자 연산 종류
연산자 | 설명 |
+ | 더하기 |
- | 뺄셈 |
* | 곱하기 |
/ | 나누기 |
계산 연산 종류
연산자 | 설명 |
SUM(컬럼) | 합계 |
AVG(컬럼) | 평균 |
COUNT(컬럼) | 데이터 개수 (컬럼 대신 1 또는 * 사용 가능) [ cf : count(distinct 컬럼) = 해당하는 컬럼이 몇개의 값을 가지고 있는지 구할 때 사용함 ] |
MIN (컬럼) | 최솟값 |
MAX(컬럼) | 최댓값 |
replace
- 한꺼번에 값을 바꾸고 싶을 때 사용합니다. 즉, 특정 문자를 다른 문자로 바꾸는 것
- 괄호 안에 값을 적을 때는 문자이면 ' '(작은따옴표)를 꼭 써야됩니다.
replace(바꿀 컬럼, 현재 값, 바꿀 값)
substring(substr)
- 특정 문자만 골라서 조회할 수 있습니다.
- 사용 방법
substr(조회 할 컬럼, 시작 위치, 글자 수)
- 예시를 들어보면 밑의 SQL은 " 'food_orders'테이블에서 '서울특별시'인 주소를 첫글자부터 시작해서 2번째 글자까지만 조회" 입니다.
select addr "원래 주소",
substr(addr, 1, 2) "시도"
from food_orders
where addr like '%서울특별시%'
concat
- 여러 컬럼의 값을 하나로 합칠 수 있습니다.
- 사용 방법
concat(붙이고 싶은 값1, 붙이고 싶은 값2, 붙이고 싶은 값3, .....)
- 예시를 들어보면 밑의 SQL은 '서울시에 있는 음식점은 '[서울]음식점명'이라고 수정한 내용입니다.
select restaurant_name "원래 이름",
addr "원래 주소",
concat('[', substring(addr, 1, 2), '] ', restaurant_name) "바뀐 이름"
from food_orders
where addr like '%서울%'
[ cf : ' ' (작은따옴표) 항상 붙여야 됩니다!! ]
If
- 원하는 조건에 충족할 때 적용할 방법과 아닌 방법을 지정해 줄 수 있습니다.
- 사용 방법
if(조건, 조건을 충족할 때, 조건을 충족하지 못할 때)
- 예시를 들어보면 [ 음식타입을 'Korean'일 때는 '한식', 아닐 경우에는 '기타'라고 지정 후 "음식 타입" 이라고 별명을 지정 ]한 내용입니다.
select restaurant_name,
cuisine_type "원래 음식 타입",
if(cuisine_type='Korean', '한식', '기타') "음식 타입"
from food_orders
case
- 두 개 이상 지정을 해야 할 경우, 각 조건별로 적용할 값을 지정해 줄 수 있습니다.
- 조건별로 지정을 해주기 때문에 IF문을 여러번 쓴 효과를 낼 수 있습니다.
- 사용 방법 [ cf : case가 시작이라면 항상 end로 조건문을 끝내야 합니다!! ]
case when 조건1 then 값(수식)1
when 조건2 then 값(수식)2
else 값(수식)3
end
- 예시를 들어보면 [ 음식 타입을 ‘Korean’ 일 때는 ‘한식’, ‘Japanese’ 혹은 ‘Chienese’ 일 때는 ‘아시아’, 그 외에는 ‘기타’ 라고 지정 ]한 내용입니다.
select restaurant_name,
cuisine_type AS "원래 음식 타입",
case when (cuisine_type='Korean') then '한식'
else '기타'
end as " 음식 타입"
from food_orders
- 조건이 끝난 다음에 항상 "(별명)" 큰따옴표를 붙여서 컬럼명을 바꿀 수 있습니다.
'MYSQL' 카테고리의 다른 글
[MYSQL] 명령어 모음 (0) | 2024.10.17 |
---|---|
[SQL] SQL문 정리 (0) | 2024.07.19 |