상세 컨텐츠

본문 제목

[개미의 걸음 SQLD 2과목] SQL기초 ① 연산자

자격증/SQLD

by IT개미 데이터 2020. 12. 18. 07:07

본문

728x90

연산자

프로그래밍을 할 때 변수나 값의 연산을 위해 사용되는 부호

  • 연산자만 단독으로 사용될 경우에는 아무 의미를 갖지 못함
  • 연산자 우선순위 : 괄호[우선순위 높음]  > 산술연산자 > 비교연산자 > BETWEEN연산자 > 논리연산자 
    # 연산자 우선순위
    더보기


    우선순위 높음


    |
    |
    |
    |
    |
    |
    |
    |


    우선순위 낮음 

    연산자 비   고
    *, /  산술 연산자[곱하기 나누기]
    +, - 산술 연산자[더하기 빼기]
    <>, !=, =, ^=, >, >=, <, <= 대소 비교 연산자
    IS (NOT) NULL, (NOT)LIKE, (NOT) IN 비교 연산자
    BEETWEEN A AND B BETWEEN 연산자
    NOT 논리 부정 연산자 NOT
    AND 논리 연산자 AND
    OR 논리 연산자 OR

 

 

 

   1. 산술 연산자[Arithmetic Operator]

덧셈, 뺄셈, 곱셈, 나눗셈 등의 산술식을 구성하는 연산자

연산자 설명 입력내용 결과내용
+ 더하기 3+4 7
- 빼기 3-4 -1
* 곱하기 3*4 12
/ 나누기 3/4 0.75

# 산술연산자우선순위

더보기

괄호, 곱하기*나누기, 더하기*빼기
∴ 동일한 우선순위의 산술 연산자가 나열된 경우 왼쪽이 오른쪽보다 우선순위를 갖게됨

 

 

   2. 비교 연산자[Relational Operator]

두 개의 값을 비교하여 맞으면 TRUE, 틀리면, FALSE를 반환하는 연산자

연산자 설명 비고
> 크다 3>4
>= 크거나 같다. 3>=4
< 작다 3<4
<= 작거나 같다. 3<=4
= 같다. [등가 비교 연산자] 3=4
!= 같지 않다. [등가 비교 연산자] 3!=4
<>
같지 않다. [등가 비교 연산자]
3<>4
^=
같지 않다. [등가 비교 연산자]
3^=4
IS NULL
 특정 열 또는 연산의 결과 값이
NULL인 데이터만 조회
COMM IS NULL
IS NOT NULL
특정 열 또는 연산의 결과 값이
NULL이 아닌 데이터만 조회
COMM IS NOT NULL
LIKE
일부 문자열이 포함된 데이터 조회
와일드 카드[_, %]가 있음
JOB LIKE '_M%'
NOT LIKE
일부 문자열이 포함되지 않은 데이터 조회
JOB NOT LIKE '_C%'
열이름 IN (조회할 열의 데이터들)
열에 있는 데이터들과 같은 데이터 출력
["="의 경우, 하나씩 지정한 후 OR로 연결]
JOB IN ('MANAGER', 'CLERK')
열이름 NOT IN (조회할 열의 데이터들) 열에 있는 데이터들과 다른 데이터 출력
['!=', '<>', '^='는 하나씩 지정 뒤 AND 연결]
JOB NOT IN ('MANAGER', 'CLERK')

# 와일드 카드

더보기

특정 문자 또는 문자열을 대체하거나 문자열 데이터의 패턴을 표시하는 특수문자를 와일드 카드라고 한다.

LIKE연산자와 함께 사용할 수 있는 연산자에는 _와 %가 있다.

_와 %가 데이터에 포함될 경우에는 ESCAPE절을 사용

와일드 카드 의    미
_ 어떤 값이든 상관없이 한 개의 문자 데이터를 의미
% 길이와 상관없이(문자 없는 경우도 포함) 모든 문자 데이터를 의미

   # ESCAPE 문 사용

# ESCAPE 문자를 지정하는 방식은 실무에서 자주 사용하지 않음
SELECT *
	FROM 테이블명
WHERE 컬럼명 LIKE 'A\_A%' ESCAPE '\';
#### ESCAPE문자 \외의 다른 문자들도 ESCAPE절에서 지정할 수 있음

# NULL

더보기

NULL은 값이 0이라는 의미가 아니라 데이터의 값이 완전히 '비어있는' 상태를 말함!

NULL의 의미
값이 존재하지 않음
해당 사항 없음
노출할 수 없는 값
확정되지 않은 값
AND 연산 TRUE FALSE NULL
TRUE TRUE FALSE NULL
FALSE FALSE FALSE FALSE
NULL NULL FALSE NULL
OR 연산 TRUE FALSE NULL
TRUE TRUE TRUE TRUE
FALSE TRUE FALSE NULL
NULL TRUE NULL NULL

# IS NULL 연산자

# LIKE 연산자

 

 

   3. BETWEEN

일정 범위를 갖는 데이터를 조회할 때 사용하는 연산자

연산자 설명
열이름 BETWEEN A AND B 해당 열에서 A과 B 사이에 속하는 데이터를 조회할 때 사용
열이름 NOT BETWEEN A AND B 해당 열에서 A과 B 사이에 속하지 않는 데이터를 조회할 때 사용

# BETWEEN, NOT BETWEEN

 

 

   4. 논리 연산자[Logical Operator]

논리곱(AND), 논리합(OR), 논리부정이 조건을 성립하면 True, 성립하지 않으면 False를 반환하는 연산자

연산자 설명 입력내용
결과내용
NOT (조건1)에 대한 부정 not(조건1) (조건1)이 성립하지 않을 경우 TRUE
AND (조건1) 과 (조건2) 가 모두 만족 (조건1) and (조건2) 모든 조건이 참일때만
최종적인 결과가 TRUE
OR (조건1) 과 (조건2) 중 하나만 만족 (조건1) or (조건2) 조건 중 하나라도 참이면
최종적인 결과가 TRUE

우선순위는 NOT, AND, OR 순!!!!

 

   5. 집합 연산자[Bit Operator]

데이터 조회 결과를 하나의 집합과 같이 다룰 수 있는 연산자

2개의 SELECT 구문에 조회되는 데이터 형태가 동일해야 됨!!

출처 : DBGUIDE.NET

연산자 설명
UNION - 연결된 SELECT문의 결과 값을 합집합으로 묶어줌[중복 제외 정렬 과정을 발생시킴]
- 두 개 테이블의 칼럼 수, 데이터 형식이 모두 일치해야함!
UNION ALL 연결된 SELECT문의 결과 값을 합집합으로 묶어줌[중복 포함]
INTERSECT
먼저 작성한 SELECT문과 다음 SELECT문 결과 값의 교집합
[먼저 작성한 SELECT문과 다음 SELECT문의 결과 값이 동일한 데이터만 출력]
EXCEPT/MINUS
(difference 연산)
먼저 작성한 SELECT문과 다음 SELECT문 결과 값의 차집합
[먼저 작성한 SELECT문의 결과 값 중 다음  SELECT문에 존재하지 않은 데이터만 출력]
데이터베이스에 따라 EXCEPT를 사용하기도 MINUS를 사용하기도 함

# UNION

더보기

데이터의 유형이 동일해야지만 출력됨!!!

# UNION ALL

더보기

UNION ALL는 중복데이터 포함, UNION은 중복데이터 제외

# MINUS

더보기

 MINUS는 먼저 작성한 SELECT문의 결과값 데이터들 중에서 다음 SELECT문의 결과값을 뺀 것

# INTERSECT

더보기

INTERSECT는 먼저 작성한 SELECT문의 결과값과 다음 SELECT문의 결과값이 동일한 데이터만 출력

 

※ 일반 집합 연산자[UNION, INTERSECTION, DIFFERENCE, PRODUCT]

출처 : DBGUIDE.NET

  • Difference연산은 EXCEPT[대다수의 벤더], MINUS[오라클]에 의해 실행
  • Product 연산은 CROSS JOIN[=CARTESIAN Product]에 의해 실행
        
    → M*N건의  데이터 조합이 발생

※ 순수 관계 연산자[SELECT, PROJECT, (NATURAL) JOIN, DIVIDE]

출처 : DBGUIDE.NET

 

728x90

관련글 더보기

댓글 영역