Smart Student Coders

저번 시간에 이어서 WHERE의 Part 2는 SQL연산자, 부정비교 연산자, 부정 SQL연산자를 포스팅 하겠습니다.

 

혹시 저번 시간에 했던 WHERE의 내용들이 기억이 나지 않으면 아래의 WHERE을 눌러봅시다!!!! 

 


SQL연산자

SQL연산자라니?? 생소하죠? 그렇지만 걱정하지 마세요! 막상보면 간단합니다!!

SQL 전문가 가이드에는 아래와 같이 써있는데 한번 읽어보죠!

 

SQL 연산자는 SQL 문장에서 사용하도록 기본적으로 예약되어 있는 연산자로서 모든 데이터 타입에 대해서 연산이 가능한 4가지 종류가 있다.

바로 

BETWEEN a AND b

IN (list)

LIKE '비교 문자열'

IS NULL

4개인데요. 그럼 아래의 표를 봅시다!

연산자 연산자 의미
BETWEEN a AND b

BETWEEN이니까 사이 라는 뜻이에요 !

a와 b사이에 값들을 찾고 싶을 때 사용해요! 이때 a과 b값을 포함합니다!!

사용예시

SELECT F_NAMEAGE FROM FAMILY WHERE AGE BETWEEN 18 AND 24

나이18 24사이가족구성원들의 이름나이조회한다.

참고! 18살과 24살이 나오는 지 확인해볼까요?

IN (list)

IN은 안에 라는 뜻이에요!

list에 있는 값들중 어느 하나라도 있으면(일치하면) 됩니다! 하나만 존재하면 되는 것이므로 1개를 찾으면 더이상 찾지 않아요!!! 

사용예시

SELECT F_NAME FROM FAMILY WHERE AGE IN 18;

나이 18살인 가족구성원의 이름 조회한다.

LIKE '비교 문자열'

LIKE는 ~와 비슷하다 라는 뜻이에요!

비교 문자열의 같은 값을 찾아 줍니다!! 

아래의 TIP을 참고 하세요!!

사용예시

SELECT * FROM FAMILY WHERE F_NAME LIKE 'H%';

이름 'H'시작하는 가족구성원의 모든 컬럼 조회한다.

 

IS NULL

NULL인가? 

해당 내용이 비었는지 확인하는 연산자에요!!

사용예시

SELECT F_NAME FROM FAMILY WHERE AGE IS NULL;

나이 적혀있지 않은 가족구성원의 이름 조회한다.

참고! 나이가 적혀있지 않은 데이터가 없을 거에요! INSERT를 이용해서 새로운 데이터를 작성하고 실습해봐요!

LIKE는 "와일드카드"라는 문자와 함께 사용합니다!! 

TIP!!

%

(페센트)

어떠한 문자도 올 수 있습니다!

EX) '%철수'

--> 이름이 철수인 사람들 모두를 보입니다.

이름이 4글자인 사람도 볼 수 있습니다!!

_

(언더바)

_의 갯수 만큼 단일 문자를의미합니다!

EX) '_철수'

--> 이름이 철수인 사람들 모두를 보입니다.

이름이 4글자인 사람은 보이지 않습니다!!

 


부정 SQL연산자 

부정 SQL연산자는 위에서 배운 SQL연사들의 부정입니다! 

부정연산자는 LIKE를 제외하고 3개가 있고 생긴것은 동일하고 'NOT'이 붙습니다!!

NOT BETWEEN a AND b

NOT IN (list)

IS NOT NULL

으로 비슷한 형태를 가졌죠? 사용법도 아주 비슷해요!

연산자 연산자의미
NOT BETWEEN a AND b

NOT BETWEEN이니까 사이 없는 데이터 라는 뜻이에요 !

a와 b사이에 값들을 제외한 데이터를 찾을 때 사용해요!

이때 a과 b값은 포함하지 않습니다!!

NOT IN (list)

NOT IN은 없는 데이터 라는 뜻이에요! 즉, 포함하지 않다!

list에 있는 값들중 어느 하나라도 없으면(일치하는게 없으면) 됩니다! 

IS NOT NULL

NULL이 아닌가?  

해당 내용이 비어 있지는않은지 확인하는 연산자에요!!

앗! 이게 뭐지 눌러보고 싶은걸!!!

더보기

이번에는 예시가 없어서 서운했죠?

그럴줄 알고 준비한 깜짝퀴즈!!!

 

1) 나이20살과29사이의 나이가 아닌가족구성원들의이름나이조회

2)나이18살이 아닌 가족구성원의이름조회

3) 나이정보가 있는가족구성원의이름조회한다.

SQL연산자의 예시를 바탕으로 위의 예시를 만들어봅시다!!!

답보기↓

 

더보기

답!!!

SELECT F_NAME, AGE FROM FAMILY WHERE AGE NOT BETWEEN 20 AND 29; 
SELECT F_NAME FROM FAMILY WHERE AGE NOT IN 18;
SELECT F_NAME FROM FAMILY WHERE AGE IS NOT NULL;

 

'데이터베이스 > SQL의 기본과 활용' 카테고리의 다른 글

[SQL] 함수(Part 1)  (0) 2019.11.18
[SQL]산술연산자와 합성연산자  (0) 2019.10.21
[SQL] DML(Data Manipulation Language)  (0) 2019.10.13
[SQL] 실습환경  (0) 2019.09.29
[SQL]SQL을 시작하기 앞서  (0) 2019.09.29