본문 바로가기

DATA 분석 교육 과정 (2024.02~08)/SQL

SQL_WHERE (비교조건, 논리조건, 부정연산, NULL, IN, BETWEEN, LIKE)

728x90
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 '%기' ;

728x90
반응형