[MySQL] 기초문법_1_연산자
MySQL을 기준으로 합니다.
사칙연산
연산자 | 의미 |
---|---|
+, -, *, / | 더하기, 빼기, 곱하기, 나누기 |
%, MOD | 나머지 |
기본적인 사칙연산과 나머지 연산자로 다른 언어들과 비슷하다.
SELECT 1 + 2;
-- 3
SELECT 10 % 4;
-- 4
논리연산
연산자 | TRUE 반환 조건 |
---|---|
AND, && | 양쪽 모두 TRUE일때 |
OR, | | | 양쪽 중 하나라도 TRUE일 때 |
IS | 양쪽이 모두 TRUE 또는 FALSE로 같을 때 (NXOR) |
IS NOT | 양쪽이 다를때 (XOR) |
AND
SELECT TRUE AND FALSE; -- FALSE
SELECT TRUE AND TRUE; -- TRUE
OR
SELECT TRUE OR TRUE; -- TRUE
SELECT TRUE OR FALSE; -- TRUE
SELECT FALSE OR FALSE; -- FALSE
IS
SELECT TRUE IS TRUE; -- TRUE
SELECT TRUE IS FALSE; -- FALSE
SELECT FALSE IS TRUE; -- FALSE
SELECT FALSE IS FALSE; -- TRUE
IS NOT
SELECT TRUE IS NOT TRUE; -- FALSE
SELECT TRUE IS NOT FALSE; -- TRUE
SELECT FALSE IS NOT TRUE; -- TRUE
SELECT FALSE IS NOT FALSE; -- FALSE
비교 연산자
연산자 | 의미 |
---|---|
= | 양쪽 값이 같음 |
!=, <> | 양쪽 값이 다름 |
>, < | (왼쪽, 오른쪽) 값이 더 큼 |
>=, <= | (왼쪽, 오른쪽) 값이 같거나 더 큼 |
조금 독특한 부분은
양쪽이 같다는 연산자가 ‘==’ 가 아닌 ‘=’ 라는것과
‘=’ 연산자가 대소문자 구분이 없다는 것.
SELECT 5 = 5; -- TRUE
SELECT 5 <> 5; -- TRUE
SELECT 3 <= 2; -- FALSE
SELECT 1 > 0; -- TRUE
문자도 연산이 가능 하며 대소문자 부분이 없다.
SELECT 'A' = 'a'; -- TRUE
SELECT 'A' != 'B'; -- TRUE
SELECT 'A' < 'B'; -- TRUE
SELECT 'Alpha' > 'Bravo'; -- FALSE
SELECT 'Alpha' = 'ALPHA'; -- TRUE
그 외 연산자
연산자 | 의미 |
---|---|
BETWEEN {MIN} AND {MAX} | 두 값 사이에 있음 |
NOT BETWEEN {MIN} AND {MAX} | 두 값 사이가 아닌 곳에 있음 |
SELECT 2 BETWEEN 1 AND 3; -- TRUE
SELECT 'Bravo' NOT BETWEEN 'Alpha' AND 'Charlie'; -- FALSE
|연산자|의미| |:–:|:–:| |IN (…)| 괄호 안의 값들 가운데 있음| |NOT IN (…)| 괄호 안의 값들 가운데 없음|
SELECT 1 + 2 IN (2, 3, 4); -- TRUE
SELECT 'Alpha' IN (24, TRUE, 'Alpha') -- TRUE
연산자 | 의미 |
---|---|
LIKE ‘… % …’ | 0~N개 문자를 가진 패턴 |
LIKE ‘… _ …’ | _ 갯수만큼의 문자를 가진 패턴 |
%는 0~N 개의 문자를 나타냄
SELECT
'ALPHA' LIKE 'alp%', -- TRUE
'ALPHA' LIKE 'a%', -- TRUE
'ALPHA' LIKE 'a%a', -- TRUE
'ALPHA' LIKE '%a', -- TRUE
'ALPHA' LIKE '%alpha%', -- TRUE
'ALPHA' LIKE '%H', -- FALSE
'ALPHA' LIKE 'L%'; -- FALSE
_는 _갯수와 문자열의 갯수가 일치해야함
SELECT
'ALPHA' LIKE 'ALP__', -- TRUE
'ALPHA' LIKE '__PHA', -- TRUE
'ALPHA' LIKE 'A___A', -- TRUE
'ALPHA' LIKE '____a', -- TRUE
'ALPHA' LIKE '_alpha_', -- FALSE
'ALPHA' LIKE '_H', -- FALSE
'ALPHA' LIKE 'L_'; -- FALSE
Leave a comment