1. WHERE 사용 이유와 원리
- 원하는 행(튜플) 정보를 선택할 수 있다.
2. 비교조건과 논리조건
1) 비교조건
- =.>,<. = 등으로 비교하는 조건
- 예시1) TB_PRD 테이블에서 RPD_TYPE 이 '컴퓨터는 대상의 모든 컬럼을 출력
SELET *
FROM TB_PRD
WHERE RPD_TYPE = 컴퓨터;
- 예시2) TB_PRD 테이블에서 RPD_AMT 이 10000이상인 상품의 모든 컬럼을 출력
SELET *
FROM TB_PRD
WHERE RPD_ AMT> = 10000;
2) 논리조건 (AND, OR) * 두가지 모두 있을 때 AND가 먼저 계산됨, OR먼저시 ( ) 필요
- 조건1 AND 조건 2 : 조건 1+2 인 정보만 ,
- 조건 1 OR 조건 2 : 조건 1 또는 2인 정보
- 예시 1) TB_CUST 테이블에서 CUST_ID가 ' C0001' 이고 PASSWD가 'pass111'인 대상 조건 출력
SELECT *
FROM TB_CUST
WHERE CUST_ID = ' C0001' --따음표 안 대소문자 구문 필요
AND PASSWD = 'pass111';
- 예시 2) TB_CUST 테이블에서 CUST_ID가 ' C0001' 이거나 PASSWD가 'pass111'인 대상 조건 출력
SELECT *
FROM TB_CUST
WHERE CUST_ID = ' C0001'
OR PASSWD = 'pass111';
- 예시 3) TB_PRD 테이블에서 PRD_TYPE 이 '가전'이면서 PRD_AMT가 500 이상이고 1000이하인 대상의
PRD_ID, PRD_NAME PRD_AMT 를 출력
SELECT PRD_ID
, PRD_NAME
, PRD_AMT
FROM TB_PRD
WHERE PRD_TYPE = '가전'
AND PRD_AMT >= '500'
AND PRD_AMT <= '1000';
3. 부정연산(NOT, !=) * 실무에서는NOT을 잘 사용X
- 조건에 NOT 개념이 붙은 것
- 예시 ) TB-PRD 테이블에서 RPD _TYPE(상품타입) 이 '가전'이 아닌 테이터를 출력
SELECT *
FORM TB_PRD
WHERE NOT PRD_TYPE = '가전' ;
4, NULL (NULL 인 정보만 추출)
- 'NULL'인 데이터만 추출
- IS NULL / IS NOT NULL 로 출력 가능
- 예시)
SELECT *
FORM TB_CUST
WHERE PHONE_NO IS NULL;

5. IN / BETWEEN / LIKE 조건
1-1) IN ( )
- 예시) TB_PRD 테이블에서 PRD_TYPE(상품타입)이 가전, 욕실용품, 스마트폰인 데이터를 모두 출력
SELECT *
FROM TB_PRD
WHERE PRD_TYPE = '가전'
OR PRD_TYPE = '욕실용품'
OR PRD_TYPE = '스마트폰' ;
또는
WHERE PRD_TYPE IN ('가전', '욕실용품', '스마트폰')
-- TYPE IN ('가전', '욕실용품', NULL, '스마트폰') >NULL은 무시된다.
1-2) NOT IN
- 괄호 안 데이터 값들을 제외한 대상을 출력함
2) BETWEEN ( ) AND ( )
- 범위 조건 연산
- 예시) TB_CUST 테이블에서 ACT_POINT 가 100~1000인 회원들을 모든 정보를 출력
SELECT *
FROM TB_CUST
WHERE ACT_POINT >= 100
AND ACT_POINT <= 1000 ;
또는
WHERE ACT_POINT BETWEEN 100 AND 1000 ;
3) LIKE
- 매칭되는 데이터 찾기
- _나 % 같은 와일드카드를 이용해 매칭 연산을 진행
- 예시 1) TB_PRD 테이블에서 PRD_NAME(상품이름) 이 ‘수’ 로 시작하는 모든 정보 찾기
SELECT *
FROM TB_PRD
WHERE PRD_NAME LIKE '수%' ;
- 예시 2) TB_PRD 테이블에서 PRD_TYPE(상품타입) 에 ‘용‘ 이 포함되는 모든 정보 찾기
SELECT *
FROM TB_PRD
WHERE PRD_TYPE '%용%' ;
- 예시 3) TB_PRD 테이블에서 PRD_NAME(상품이름)이 ‘기’ 로 끝나는 모든 정보 찾기
SELECT *
FROM TB_PRD
WHERE PRD_NAME LIKE '%기' ;
'DATA 분석 교육 과정 (2024.02~08) > SQL' 카테고리의 다른 글
SQL_DML(INSERT, UPDATE, DELETE), DDL(CREATE, ALTER, DROP, RENAME, TRUNCATE), 시퀀스, 뷰 (0) | 2024.02.28 |
---|---|
SQL_GROUP BY, HAVING, ORDER BY (0) | 2024.02.26 |
SQL_FROM (스키마, INNER JOIN, OUTER JOIN, ANSI) (0) | 2024.02.26 |
SQL _ SELECT(사칙연산, 연결연산, 내장형함수, 형변환함수, NULL함수) (0) | 2024.02.24 |
SQL_데이터 모델링, SELECT(의미, 실행순서, *, DISTINCT, AS, NULL, 자료형, 리터럴) (0) | 2024.02.22 |