본문 바로가기
[자격증] SQLD(SQL개발자)/↘ SQL 기본 및 활용

[ SQLD ] SQL 기본 - 5. WHERE 절

by 승큐리티 2020. 5. 26.

[ SQLD ] 

1. SQL 기본

 1-5. WHERE 절


 

1. WHERE 절
자료 조회 중 특정 자료를 조회하기 위해 조건을 부여하는 목적으로 쓰이는 명령어

2. WHERE 연산자 종류

비교연산자

비교연산자 설명
= 같다.
> 크다
>= 크거나 같다
< 작다
<= 작거나 같다

 

부정 비교 연산자

부정 비교연산자 설명
!= 같지 않다
^= 같지 않다
<> 같지 않다
NOT 칼럼명 = 칼럼명과 같지 않다
NOT 칼럼명 > 칼럼명보다 작다

 

SQL 연산자

SQL 연산자 설명
BETWEEN A AND B A와 B사이의 값이면 된다.
IN (list) list 값 중 하나라도 일치하면 된다.
LIKE ' 비교문자열 ' 비교문자열이랑 일치하면 된다.
IS NULL NULL 값 조회

 

부정 SQL 연산자

부정 SQL 연산자 설명
NOT BETWEEN A AND B A와 B사이의 값이 없는걸 조회
NOT IN (list) list 값 중 불일치 조회
IS NOT NULL NULL 값 아닌 것 조회

 

논리 연산자

논리 연산자 설명
AND 조건 모두 참 = 참
OR 조건 중 하나라도 참 = 참
NOT 참이면 거짓 거짓이면 참

 

3. 비교연산자
SELECT * FROM play
WHERE NO > 2000;
->play 테이블 중 NO 칼럼 값이 2000 이상인 칼럼만 출력해라.

 

 

 

4. SQL연산자
1) LIKE문
' 다% ' -> 문자 중 다로 시작하는 모든 것을 조회한다.
' %다% ' -> 문자 중 중간에 다가 있는 모든 것을 조회한다.
' %다 ' -> 문자 중 다가 마지막에 있는 모든 것을 조회한다.
' 다 ' -> 문자 중 오로지 다 1글자 만 조회한다.
' 다_ ' -> 문자 중 다로 시작하고 뒤에 한글자 더 있는 데이터를 조회한다.
' _다 ' -> 문자 중 다로 끝나고 앞에 한글자 더 있는 데이터를 조회한다.

SELECT * FROM play
WHERE NAME LIKE '다';
->play 테이블 중 NAME 칼럼 값 중 다 문자를 포함한 것을 조회한다.

 

 


2) BETWEEN문
A 이상 B 이하

SELECT * FROM play
WHERE NO BETWEEN 2000 AND 4000;
-> play 테이블 중 NO 칼럼이 2000~4000사이의 값을 출력하라.

 

 

 

3) IN문 (LIST)
list 값 중 하나라도 일치하면 된다.

SELECT * FROM play
WHERE NAME IN ('가', '다');
-> NAME 칼럼 값 중 가와 다가 포함된 데이터를 모두 출력하라.

 

 

 

4) IS NULL
NULL 값 조회
NULL : 값이 없는 값 , 연산하면 무조건 NULL

SELECT * FROM play
WHERE TESTNULL IS NULL;
-> play 테이블 중 TESTNULL 칼럼 값이 NULL 값의 데이터를 출력하라.

 

 

 

5. ROWNUM
SELECT 출력결과의 행에 임시의 일련번호 부여

1) 1건의 행만 가져올 때
SELECT * FROM PLAY
WHERE ROWNUM <=1;

SELECT * FROM PLAY
WHERE ROWNUM =1;

SELECT * FROM PLAY
WHERE ROWNUM <2;

2) 여러행을 가져 올 때
SELECT * FROM PLAY
WHERE ROWNUM <=N;

6. ROWID
데이터를 구분 할 수 있는 유일한 ID
테이블에 데이터를 입력 할 때 자동으로 생성되며 데이터의 주소라고 생각하면 된다.

 

 

명령어 : SELECT NO , ROWID FROM PLAY;

오프젝트번호 ( 6자리 (1~6) ) : 데이터가 속해 있는 오브젝트 값으로 오프젝트 별로 값이 다르다.
-> AAAASH
상대 파일 번호 ( 3자리 (7~9) ) : 테이블스페이스의 상대 파일 번호이며 각 데이터별로 유일한 값을 가진다. 
-> IAA
블록 번호 ( 6자리 (10~15) ) : 데이터가 어느 블록인지 알려주는 번호
-> BAAAaB
데이터 번호 ( 3자리 (16~18) ) : 데이터가 저장 되어 있는 순서
-> pAAAA

댓글