산술 연산자
산술 연산자는 +, -, *, / 를 사용하고, 나머지 연산자는 mod 함수를 이용한다.
비교 연산자
대소 비교 연산자
연산자 앞뒤에 있는 데이터 값을 비교하는 데 사용한다. 비교할 열을 왼쪽에 적고 연산자를 작성 후 값을 오른쪽에 작성하면 된다. > , >= , < , <= 를 사용한다.
문자혹은 문자열에도 비교 연산자를 사용할 수 있는데, 영어 사전처럼 알파벳 순서로 문자열의 대소를 비교한다.
등가 비교 연산자
연산자 양쪽 항목이 같은 값인지 검사하는 연산자. = , != , <> , ^= 가 있다. = 는 값이 같으면 true, 다르면 false를 반환하며 그 외에는 값이 다르면 true, 같으면 false를 반환한다.
논리 부정 연산자
비교 연산자는 아니지만 NOT을 사용하여 != 와 같은 결과를 내는 연산자이다. 대소, 등가 비교 연산자에 직접 사용하는 경우는 별로 없고 IN , BETWEEN , IS NULL 연산자와 함께 복합적으로 사용하는 경우가 많다.
IN 연산자
특정 열에 해당하는 조건을 여러개 지정해서 조회할 때 사용한다.
IN 앞에 NOT을 사용하면 최종결과의 반대 값을 반환한다.
BETWEEN A AND B
일정 범위 이내의 데이터를 조회할 때 사용한다,
WHERE 열이름 BETWEEN 최솟값 AND 최댓값 으로 작성하면 된다. NOT을 붙일 때는 BETWEEN 앞에 작성한다.
LIKE 연산자와 와일드 카드
이메일이나 게시판 제목 또는 내용 검색 기능처럼 일부 문자열이 포함된 데이터를 조회할 때 사용한다.
와일드 카드는 _과 %가 있는데, _는 어떤 값이든 상관없이 한 개의 문자 데이터를 의미하고, %는 길이와 상관없이 (문자 데이터가 없는 경우도 포함) 모든 문자 데이터를 의미한다.
LIKE '_S%' 이면 두번째문자가 S이고 그 뒤는 어떤 문자가 와도 상관없는 데이터를 의미한다. NOT을 붙일 때는 LIKE 앞에 작성한다.
IS NULL 연산자
NULL은 데이터가 완전히 비어있는 상태를 말한다. 현재 무슨 값인지 확정되지 않은 상태 이거나, 값 자체가 존재하지 않는 상태를 나타내는 데이터에 사용한다. NULL은 산술 연산자와 비교 연산자로 비교해도 결과 값이 NULL이 나온다. 그래서 특정 열 또는 연산의 결과 값이 NULL 인지 여부를 확인하기 위해 IS NULL 연산자를 사용한다. NOT을 붙일 때는 IS 뒤에 작성하면 된다.(IS NOT NULL)
집합 연산자
집합 연산자로 두 개의 SELECT 문의 결과 값을 연결할 때 각 SELECT문이 출력하려는 열 개수와 각 열의 자로형이 순서별로 일치해야 한다.
UNION : 합집합을 의미하는 연산자 . 결과값의 중복은 제거한다.
UNION ALL : 합집합을 의미하고, 결과값의 중복도 모두 출력한다.
MINUS : 먼저 작성한 SELECT문의 결과 값에서 다음 SELECT문의결과 값을 차집합 처리한다. 먼저 작성한 SELECT문의 결과 값 중 다음 SELECT문에 존재하지 않는 데이터만 출력한다.
INTERSECT : 먼저 작성한 SELECT문과 다음 SELECT문의 결과 값이 같은 데이터만 출력한다. 교집합이다.
연산자 우선순위
[높음] [ ( ) ] > [* , /] > [+ , -] > [ = , != , >] > [IN, LIKE, IS NULL] > [ BETWEEN A AND B ] > [ NOT ] > [ AND ] > [OR] [낮음]
'DATABASE > WHERE절과 연산자 : 더 정확하고 다양한 결과를' 카테고리의 다른 글
02. 여러 개 조건식을 사용하는 AND, OR 연산자 (0) | 2024.03.17 |
---|---|
01. 필요한 데이터만 출력하는 WHERE절 (0) | 2024.03.17 |