SQL에서 사용되는 연산자를 간단하게 정리해봤다.
실습 사이트
연산자 정리
연산자 | 의미 |
---|---|
+, –, *, / | 각각 더하기, 빼기, 곱하기, 나누기 |
%, MOD | 나머지 |
IS | 양쪽이 모두 TRUE 또는 FALSE |
IS NOT | 한쪽은 TRUE, 한쪽은 FALSE |
AND, && | 양쪽이 모두 TRUE일 때만 TRUE |
OR, || | 한쪽은 TRUE면 TRUE |
= | 양쪽 값이 같음 |
!=, <> | 양쪽 값이 다름 |
>, < | (왼쪽, 오른쪽) 값이 더 큼 |
>=, <= | (왼쪽, 오른쪽) 값이 같거나 더 큼 |
BETWEEN {MIN} AND {MAX} | 두 값 사이에 있음 |
NOT BETWEEN {MIN} AND {MAX} | 두 값 사이가 아닌 곳에 있음 |
IN (…) | 괄호 안의 값들 가운데 있음 |
NOT IN (…) | 괄호 안의 값들 가운데 없음 |
LIKE ‘… % …’ | 0~N개 문자를 가진 패턴 |
LIKE ‘… _ …’ | _ 갯수만큼의 문자를 가진 패턴 |
사용예제
- +, -, *, / (더하기, 빼기, 곱하기, 나누기)
SELECT 5 + 3 AS Sum, 10 - 4 AS Difference, 6 * 7 AS Product, 8 / 2 AS Division;
- %, MOD (나머지)
SELECT 10 % 3 AS Remainder, MOD(10, 3) AS Modulus;
- IS (TRUE 또는 FALSE 확인)
SELECT TRUE IS TRUE AS IsTrue, FALSE IS FALSE AS IsFalse;
- IS NOT (한쪽 TRUE, 한쪽 FALSE 확인)
SELECT TRUE IS NOT FALSE AS IsNotFalse, FALSE IS NOT TRUE AS IsNotTrue;
- AND, && (양쪽이 TRUE일 때만 TRUE)
SELECT (1 < 5 AND 5 > 3) AS AndResult, (TRUE && TRUE) AS LogicalAnd;
- OR, | (한쪽만 TRUE여도 TRUE)
SELECT (1 > 5 OR 5 > 3) AS OrResult, (TRUE || FALSE) AS LogicalOr;
- = (값이 같음 확인)
SELECT 5 = 5 AS IsEqual, 'abc' = 'abc' AS StringEqual;
- !=, <> (값이 다름 확인)
SELECT 5 != 3 AS NotEqual, 'abc' <> 'xyz' AS StringNotEqual;
- >, < (값 비교)
SELECT 5 > 3 AS GreaterThan, 3 < 5 AS LessThan;
- >=, <= (값이 같거나 크거나 작음 확인)
SELECT 5 >= 5 AS GreaterOrEqual, 3 <= 5 AS LessOrEqual;
- BETWEEN {MIN} AND {MAX} (범위 확인)
SELECT 10 BETWEEN 5 AND 15 AS InRange, 20 BETWEEN 5 AND 15 AS NotInRange;
- NOT BETWEEN {MIN} AND {MAX} (범위 밖 확인)
SELECT 10 NOT BETWEEN 20 AND 30 AS OutOfRange, 25 NOT BETWEEN 10 AND 15 AS AlsoOutOfRange;
- IN (…) (값들 중에 포함 여부 확인)
SELECT 5 IN (1, 3, 5, 7) AS IsInSet, 'apple' IN ('orange', 'banana', 'apple') AS StringInSet;
- NOT IN (…) (값들 중에 포함되지 않음 확인)
SELECT 5 NOT IN (1, 2, 3, 4) AS IsNotInSet, 'pear' NOT IN ('orange', 'banana', 'apple') AS StringNotInSet;
- LIKE ‘…%’ (패턴 매칭 – 0~N 문자)
SELECT 'apple' LIKE 'a%' AS StartsWithA, 'banana' LIKE '%na' AS EndsWithNa;
- LIKE ‘…_’ (패턴 매칭 – 정확한 문자 수)
SELECT 'cat' LIKE 'c_t' AS MatchesPattern, 'dog' LIKE 'd__' AS MatchesLength;