ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [SQLD] SQL 개발자 공부하기 Day 5 : SELECT / WHERE / NULL
    Study/SQL 2024. 2. 20. 23:00
    728x90
    반응형
    목차
    1. SELECT
    2. WHERE / NULL

    1. SELECT

     

     

    SELECT

    테이블에 입력된 데이터를 조회하기 위해서 사용한다.

    ‣ 특정 칼럼이나 특정 행만을 조회할 수 있다.

     

    (1) SELECT 문법

    SELECT 문법 설명
    SELECT  ‣ 데이터베이스로부터 특정 데이터를 선택하여 조회.
    ‣ 별표(*)를 사용하면 모든 칼럼의 데이터 조회.
    FROM 선택한 데이터가 어떤 테이블에서 온 것인지를 지정할 때 사용.
    WHERE 조회 조건을 지정할 때 사용.
    데이터베이스에서 특정 조건을 만족하는 행만을 골라낼 때 사용.

     

    ex)

    SELECT *
    FROM EMP
    WHERE 사원번호 = 1000;

     

    모든 칼럼을 조회하라 / EMP 표에서 / 사원번호가 1000인 행만

    -> EMP표에서 사원번호가 1000인 행의 모든 칼럼을 출력하라.

     

     

    (2) ORDER BY

    SELECT문을 사용할 때, ORDER BY를 같이 사용할 수 있다.

    ORDER BY는 오름차순(ASC) 혹은 내림차순(DESC)으로 출력한다.

    정렬을 하는 시점은 모든 실행이 끝난 후 데이터를 출력해 주기 바로 전이다.

    ORDER BY는정렬을 하기 때문에 데이터베이스 메모리를 많이 사용하게 된다. -> 대량의 데이터를 정렬하면 성능 저하 발생.

    정렬을 회피하기 위해서 인덱스(Index)를 생성할 때 사용자가 원하는 형태로 오름차순 혹은 내림차순으로 생성해야 한다.

    특별한 지정이 없으면 ORDER BY는 오름차순으로 정렬한다.

     

    ex)

    SELECT *
    FROM EMP
    ORDER BY ENAME, SAL DESC;

     

    모든 칼럼을 조회하라 / EMP 표에서 / ENAME은 오름차순 SAL은 내림차순으로 정렬하라.

    -> EMP 표에서 모든 칼럼을 조회하고 ENAME은 오름차순 SAL은 내림차순으로 정렬하라.

    반응형

    (3) DISTINCT

    DISTINCT문은 칼럼명 앞에 지정하여 중복된 데이터를 한 번만 조회하게 한다.

     

    ex)

    SELECT DISTINCT DEPTNO
    FROM EMP
    ORDER BY DEPTNO;

     

    DEPTNO 칼럼의 중복을 제거하고 조회해줘 / EMP 표에서 / DEPTNO는 오름차순으로 정렬하라.

    -> EMP 표에서 DEPTNO 칼럼의 중복을 제거한 고유한 값을 조회하고 DEPTNO 칼럼의 값에 따라 오름차순으로 정렬해.

     

     

     


    2. WHERE / NULL

     

    WHERE

     데이터를 조회할 때 특정한 조건을 만족하는 행을 찾기 위해 사용

     

    (1) 비교 연산자

    비교 연산자 설명
    =  같은 것을 조회한다.
    <  작은 것을 조회한다.
    <=  작거나 같은 것을 조회한다.
     >  큰 것을 조회한다. 
    >=   크거나 같은 것을 조회한다. 

     

    (2) 부정 비교 연산자

    부정 비교 연산자 설명
    ! =  같지 않은 것을 조회한다.
    ^ =  같지 않은 것을 조회한다.
    <>  같지 않은 것을 조회한다.
     NOT 칼럼명 =  같지 않은 것을 조회한다.
     NOT 칼럼명 >  크지 않은 것을 조회한다. 

     

    (3) 논리 연산자

    논리 연산자 설명
    AND  조건을 모두 만족해야 참이 된다.
    OR  조건 중 하나만 만족해도 참이 된다.
    NOT  참이면 거짓(False)으로 바꾸고 거짓이면 참(True)으로 바꾼다.
    728x90

    (4) SQL 연산자

    SQL 연산자 설명
    LIKE '%비교 문자열%'  비교 문자열을 조회한다. %은 모든 값을 의미한다.
    BETWEEN A AND B  A와 B 사이의 값을 조회한다.
    IN (list)  OR을 의미하며 list 값 중 하나만 일치해도 조회된다.
     IS NULL  NULL 값을 조회한다.

     

    (5) 부정 SQL 연산자

    부정 비교 연산자 설명
    NOT BETWEEN A AND B  A와 B 사이의 해당되지 않는 값을 조회한다.
    NOT IN (list)  list와 불일치한 것을 조회한다.
     IS NOT NULL  NULL 값이 아닌 것을 조회한다.

     

     

    NULL 관련 함수

    NULL 함수 설명
    NVL (Oracle)  NULL이면 다른 값으로 바꾼다.
    NVL2 (Oracle)  NVL2(MGR, 1, 0)은 NULL이 아니면 1, NULL이면 0을 반환한다.
    NULLIF (Oracle, MS-SQL, MySQL)  두 개의 값이 같으면 NULL, 아니면 첫 번째 값을 반환한다.
    COALESCE (Oracle, MS-SQL)  NULL이 아닌 최초의 인자 값을 반환한다.

     

    728x90
    반응형

    댓글

Designed by Tistory.