📚 Database
[MySQL] MySQL의 연산자(operator)
오늘 ONEUL
2022. 6. 1. 00:55
산술 연산자
MySQL은 대부분의 프로그래밍 언어에서 지원하는 기본적인 연산자를 모두 제공한다. 당연히 사칙연산 모두 가능하다.
산술 연산자 | 설명 |
+ | 왼쪽 피연산자에 오른쪽 피연산자를 더함. |
- | 왼쪽 피연산자에서 오른쪽 피연산자를 뺌. |
* | 왼쪽 피연산자에 오른쪽의 피연산자를 곱함. |
/ | 왼쪽 피연산자를 오른쪽 피연산자로 나눔. |
DIV | 왼쪽 피연산자를 오른쪽 피연산자로 나눈 후, 소수 부분을 버림. |
%또는 MOD | 왼쪽 피연산자를 오른쪽 피연산자로 나눈 후, 그 나머지를 반환함. |
비교 연산자
비교 연산자 | 설명 |
= | 왼쪽 피연산자와 오른쪽 피연산자가 같으면 참을 반환함. |
!=, <> | 왼쪽 피연산자와 오른쪽 피연산자가 같지 않으면 참을 반환함. |
< | 왼쪽 피연산자가 오른쪽 피연산자보다 작으면 참을 반환함. |
<= | 왼쪽 피연산자가 오른쪽 피연산자보다 작거나 같으면 참을 반환함. |
> | 왼쪽 피연산자가 오른쪽 피연산자보다 크면 참을 반환함. |
>= | 왼쪽 피연산자가 오른쪽 피연산자보다 크거나 같으면 참을 반환함. |
<=> | 양쪽의 피연산자가 모두 NULL이면 참을 반환하고, 하나의 피연산자만 NULL이면 거짓을 반환함. |
IS | 왼쪽 피연산자와 오른쪽 피연산자가 같으면 참을 반환함. (오른쪽 피연산자가 불리언 값인 TRUE, FALSE, UNKNOWN 값일 때 사용함) |
IS NOT | 왼쪽 피연산자와 오른쪽 피연산자가 같지 않으면 참을 반환함. (오른쪽 피연산자가 불리언 값인 TRUE, FALSE, UNKNOWN 값일 때 사용함) |
IS NULL | 피연산자의 값이 NULL이면 참을 반환함. |
IS NOT NULL | 피연산자의 값이 NULL이 아니면 참을 반환함. |
BETWEEN min AND max | 피연산자의 값이 min 값보다 크거나 같고, max 값보다 작거나 같으면 참을 반환함. |
NOT BETWEEN min AND max | 피연산자의 값이 min 값보다 작거나 max 크면 참을 반환함. |
IN() | 피연산자의 값이 인수로 전달받은 리스트에 존재하면 참을 반환함. |
NOT IN() | 피연산자의 값이 인수로 전달받은 리스트에 존재하지 않으면 참을 반환함. |
-- <>
SELECT * FROM emp
WHERE ename <> 'KING';
-- IS NULL, IS NOT NULL
SELECT * FROM emp
WHERE comm IS NULL;
SELECT * FROM emp
WHERE comm IS NOT NULL;
-- BETWEEN AND, NOT BETWEEN AND
SELECT * FROM emp
WHERE sal BETWEEN 1250 AND 3000;
SELECT * FROM emp
WHERE sal NOT BETWEEN 1250 AND 3000;
-- IN
SELECT * FROM emp
WHERE job IN ('SALESMAN', 'CLERK');
논리 연산자
논리 연산자 | 설명 |
AND | 논리식이 모두 참이면 참을 반환함. |
&& | 논리식이 모두 참이면 참을 반환함. |
OR | 논리식 중에서 하나라도 참이면 참을 반환함. |
|| | 논리식 중에서 하나라도 참이면 참을 반환함. |
XOR | 논리식이 서로 다르면 참을 반환함. |
NOT | 논리식의 결과가 참이면 거짓을, 거짓이면 참을 반환함. |
! | 논리식의 결과가 참이면 거짓을, 거짓이면 참을 반환함. |
SELECT * FROM emp
WHERE sal > 1000 AND sal < 2000;
SELECT * FROM emp
WHERE sal < 1000 OR sal > 2000;
패턴 매칭 연산자
패턴매칭연산자 | 설명 |
LIKE | 특정 패턴을 포함하는 데이터만을 검색함. |
REGEXP | LIKE 연산자보다 더욱 복잡한 패턴을 검색할 때 사용함. |
- 와일드카드(wildcard)란? 문자를 대체하기 위해 사용되는 기호.
- % : 0개 이상의 문자를 대체함.
- _ : 1개의 문자를 대체함.
-- 사원명에 S가 포함되는 사원정보
SELECT * FROM emp
WHERE ename LIKE '%S%';
-- 직챙명 중 앞에서 세번째 알파벳이 A가 아닌 사원들의 정보
SELECT * FROM emp
WHERE job NOT LIKE '__A%';
※ 참고 자료