ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [한기교] SQL 활용 필기(6) - 데이터 검색
    비전공자 공부일기/:: DB - SQL 2020. 5. 3. 12:10

    데이터 검색

     

    < 간단한 데이터 검색 >

    1) 무조건 검색

    SELECT 속성명1, 속성명2, ...
    FROM 테이블명

     

    2) * (모든 속성)

    SELECT *
    FROM 테이블명

     

    3) AS 키워드 (속성명 부여)

    - 질의 결과의 속성명을 바꾸어서 나타나게 하고싶을 때

    - 질의결과에 수식을 사용했을 때

    - 속성명이 없을 때

    SELECT 원하는 속성(수식가능) AS 부여하고 싶은 속성명
    FROM 테이블명

     

     

    < 조건검색 >

    1) WHERE 절 (조건검색)

    SELECT 속성명
    FROM 테이블명
    WHERE 조건

     

    2) 연산자

     

    3) DISTINCT 키워드 (중복제거)

    - SQL은 Bag을 기반으로 하므로, 원래 중복된 것들도 모두 제시됨

    - DISTICT를 이용하면 중복값을 제거한 결과를 조회 가능

    SELECT DISTINCT 속성명 ...

     

     

    < 복잡한 데이터 검색 >

    1) BETWEEN a AND b

    : 검색조건의 상한과 하한을 지정함   ==>    a<=X AND X<=b 와 같음

     

    2) IN(a, b, c, ...)

    : 속성값이 a, b, c, ... 중 하나라도 일치하면 참   ==>   X = a OR X = b OR X = c 와 같음

    (ex)
    
    SELECT ENAME, JOB
    FROM EMPLOYEE
    WHERE JOB IN('marketing', 'senior')

     

    3) IS NULL

    : 값이 NULL일 때 TRUE 반환

     

    원래 NULL값은 어떤 비교를 하든 FALSE 반환

    사원 테이블에서 COMMISSION 값이 NULL인 튜플들이 있을 경우,

    X = NULL ==> X값이 NULL값이어도 결과가 거짓으로 반환됨

    따라서 NULL값이 true를 반환하는 연산자가 필요해서 만들어짐

     

    4) IS NOT NULL

    : NULL값이 아닌 튜플 검색

     

    5) LIKE 연산자 (문자열 검색)

    : 지정한 문자 패턴과 부분적으로 일치하면 참이 되는 연산자

     

     % : 임의의 길이의 문자열

     ! : 글자 한 자

     

    (ex)
    
    SELECT DNAME, LOC FROM DEPARTMENT
    WHERE DNAME LIKE 'H%n'
    
    ==> H로 시작하고 n으로 끝나는 문자열 위치 검색

     

    6) ORDER BY절

    : 질의문의 결과는 테이블에 입력된 순서대로 출력됨

     

    데이터의 출력 순서를 특정 속성값을 기준으로 오름차순or내림차순으로 정렬해야 하는 경우가 있다.

    ORDER BY {column_name} [ASC|DESC]

    ASC : 오름차순으로, 생략 가능(기본값)
    DESC : 내림차순, 생략 불가능

     

    * ORDER BY절 다중속성 정렬 

    : TIE BREAKER룰, 즉 같은 결과값이 나왔을 때 다른 조건을 비교하여 정렬할 수도 있다

    SELECT 속성명
    FROM 테이블명
    ORDER BY 첫번째 조건 [ASC|DESC], 두번째 조건 [ASC|DESC]

     

     

    댓글

coding wanee