[SQLD] WHERE절

icebox127·2025년 9월 27일

SQLD

목록 보기
7/8

WHERE절

1. WHERE 조건절 개요

  • 사용자들은 자신이 원하는 자료만을 검색하기 위해서 SQL 문장에 WHERE절을 이용하여 자료들에 대하여 제한할 수 있다.
SELECT [DISTINCT/ALL] 칼럼명 [ALIAS명]
FROM 테이블명
WHERE 조건식;

2. 연산자의 종류


3. SQL 연산자

IN 연산자

 SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키
 FROM PLAYER
 WHERE TEAM_ID IN ('K02', 'K07')
 
 //다중 리스트
 SELECT ENAME, JOB, DEPTNO
 FROM EMP
 WHERE (JOB, DEPTNO) IN (('MANAGER',20), ('CLERK',30));

LIKE 연산자

와일드 카드설명
%0개 이상의 어떤 문자를 의미한다.
_1개인 단일 문자를 의미한다.
1. 포지션이 ‘MF’인 선수 조회
2. “김”씨 성을 가진 선수들의 정보 조회
3. 포지션의 2번째 문자가 ‘F’인 선수들의 정보 조회
 //1
 SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키
 FROM PLAYER
 WHERE POSITION LIKE 'MF'; // ~와 같다. =과 같은 역할
 
 //2
 SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키
 FROM PLAYER
 WHERE PLAYER_NAME LIKE '김%';
 
 //3
 SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키
 FROM PLAYER
 WHERE POSITION LIKE '_F%'; 

BETWEEN a AND B 연산자

 SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키
 FROM PLAYER
 WHERE HEIGHT BETWEEN 170 AND 180;

IS NULL 연산자

NULL값은 비교할 수 없음

→ = NULL은 아무 레코드도 선택하지 못함

따라서 IS NULL 연산자를 사용해서 NULL값을 찾는다.

 SELECT PLAYER_NAME 선수이름, POSITION 포지션, TRAM_ID
 FROM PLAYER
 WHERE POSITION IS NULL;

4. ROWNUM, TOP 사용

ROWNUM

ROWNUM은 칼럼과 비슷한 성격의 유사 칼럼으로, 처리 결과 집합의 각 행에 대해 임시로 부여되는 일련번호이며, 테이블이나 집합에서 원하는 만큼의 행만 가져오고 싶을 때 WHERE 절에서 행의 개수를 제한하는 목적으로 사용한다.

 SELECT PLAYER_NAME FROM PLAYER WHERE ROWNUM = N; //N개의 행을 가져옴

TOP

TOP절을 사용하여 결과 집합으로 출력되는 행 수를 제한할 수 있다.
 TOP(Expression) [PERCENT] [WITH TIES]
  • Expression: 반환할 행의 수 지정
  • PERCENT: 쿼리 결과 집합에서 처음 Expression%의 행만 반환됨을 나타냄
  • WITH TIES: ORDER BY 절이 지정된 경우에만 사용할 수 있으며, TOP N [PERCENT]의 마지막 행과 같은 값이 있는 경우 추가 행이 출력되도록 선택할 수 있음
profile
감자의 공부기록🥔

0개의 댓글