본문 바로가기

💻 SQL/🔎기초 SQL

[칼퇴족 김대리는 알고 나만 모르는 SQL 기초편] DAY 4. WHERE문에 조건절을 활용한 데이터 조건 주기

DAY 4. WHERE문에 조건절을 활용한 데이터 조건 주기

※ 조건을 지정하여 테이블에서 자료를 추출하는 방법 ※ WHERE 조건절은 SQL에 ‘필터’ 기능

💡 숫자 및 문자/날짜형 데이터 필터링

  • 특정한 테이블에서 특정한 조건을 만족하는 데이터를 추출하여 나타내라
  • 숫자형 데이터 조건
    • 테이블 명 다음에 WHERE을 적고 조건을 숫자로 기재
    SELECT 열 이름1, 열 이름2 FROM 테이블명 WHERE 비교할 열 이름 = 숫자;

 

  • 문자/날짜형 데이터 조건
    • 테이블명 다음에 WHERE을 적고 조건을 기재하는 것은 동일하나 작은따옴표(’’)안에 문자로 기재한다는 차이
    SELECT 열 이름1, 열 이름2 FROM 테이블명 WHERE 비교할 열 이름 = '문자';

 

💡 비교/산술 연산자

  • 교연산자
    SELECT 열 이름 FROM 테이블명 WHERE 비교할 열 이름 비교연산자 비교할 대상;
    비교연산자 설명
    A = B A와 B가 같다
    A <> B A와 B가 같지 않다
    A != B A와 B가 같지 않다
    A ^= B A와 B가 같지 않다
    A < B A가 B보다 작다 = A가 B미만이다
    A <= B A가 B보다 작거나 같다 = A가 B이하이다
    A > B A가 B보다 크다 = A가 B초과이다
    A >= B A가 B보다 크거나 같다 = A가 B이상이다
    BETWEEN A AND B 지정된 두 값 사이에 있는지 확인하는 경우 사용한다
    IS NULL NULL값을 가진 열을 검색하는 경우 사용한다
    IS NOT NULL NULL값이 아닌 열을 검색하는 경우 사용한다

 

  • 산술연산자
    SELECT 열 이름1, 열 이름2 산술연산자 열 이름3 AS 새로운 이름 FROM 테이블명;
    ※SELECT문에서 사용하는 산술연산자는 새로운 별칭을 주는 AS와 같이 사용되는 경우가 많다
    산술연산자 설명
    + 더하기
    - 빼기
    * 곱하기
    / 나누기
    ※곱하기, 나누기는 더하기, 빼기보다 우선순위가 높다
  • ※비즈니스 세계에서 유용한 ‘티켓 사이즈(Ticket Size)’ 개념 = 인당 구매금액, 인당 가입금액 등 직관적으로 고객 당 수익이나 가입금액이 얼마인지 알려주는 아주 유용한 개념
  • NULL 값의 처리 = 결측치 처리 (Missing Value Imutation) 방법
    • 결측치는 자료의 처리결과에 영향을 미친다. 열이 숫자형인 경우, NULL을 0으로 치환하는 것 이외에도 정규분포를 이용한 평균값으로 치환하거나 분포가정이 없는 중위값으로 치환할 수 있다.
    • COALESCE 함수의 문법
      • NULL 값을 0으로 치환할 때 많이 사용한다.
      • EXPRESSION 1이 NULL값이 아니면 EXPRESSION 1을 리턴하고, EXPRESSION 1이 NULL값이고 EXPRESSION 2가 NULL값이 아니면 EXPRESSION 2를 출력
      • 문법에서 정의된 열 중 NULL이 아닌 첫 번째 값을 화면에 출력하는 역할을 한다 ex. COALESCE (열이름, 0) → 열이 NULL값인 경우 0을 반환
      COALESCE (EXPRESSION 1, EXPRESSION 2, .... EXPRESSION N)  
      ※ COALESCE : 동사/ 합치다, 합체하다
    ※ NULL은 데이터가 존재하지 않는다는 것을 의미하며, SPACE 혹은 숫자 0과는 다른개념이다.※ NULL 값이 포함된 사칙연산을 할 때 결과값은 NULL값
    • ZEROIFNULL(열 이름) : 해당 열에 NULL 값이 포함되면 숫자 0 으로 바꾸는 함수
    • NVL2(열 이름, 표현식1, 표현식2) : 해당 열이 NULL이면 ‘표현식2’ 값을 나타내고, NULL이 아니면 ‘표현식1’의 값을 나타낸다
  • ※ DBMS마다 지원 여부의 차이가 있지만 NULL값을 처리할 수 있는 함수는 다음과 같다.
  • ※ NULL을 사용할 때는 연산자 ‘=’를 사용할 수 없다.