컴퓨터/SQL

데이터 검색

해피밀세트 2020. 1. 21. 18:19

간단한 데이터 검색

1. AS 키워드와 *

  1) 실습용 데이터 생성 :

     실습을 위한 테이블 및 튜플들을 생성함

      5SQLDatapopulate.sql

      -  DB 이름 : MagicCorp

      - 테이블 : DEPARTMENT, EMPLOYEE, SALGRADE

   ① File Open File…

   ② 실습용 파일 선택

   ③ 실행

  2) 무조건 검색

        SELECT 속성명1, 속성명2,…

        FROM 테이블명

     예) 모든 부서 정보 검색

  3) *

    - 모든 속성명을 쓰기 힘듦

    - “*” 를 사용함

    - SELECT절에서 *는 모든 속성이란 의미임

    예) 모든 부서 정보 검색

  4) AS 키워드

     질의 결과의 속성명을 바꾸어서 나타나게 함

     ② 질의결과에 수식을 넣을 수 있음

     ③ 속성명이 없음

     ④ AS 키워드로 속성명을 부여함

     예) 사원 테이블에서 사원명과 봉급*12 검색

 

2. 간단한 조건 검색

  1) WHERE

    예) 사원 테이블(EMPLOYEE)에서 사원번호(ENO) 110번의 이름(ENAME)과 부서번호(DNO) 검색

       - 조건 : 사원번호 110번

       - WHERE 절을 사용함

  2) 비교 연산자 :

    WHERE 절에서 문자, 숫자, 날짜의 크기나 순서를 비교함

    - 같다 : =

    - 같지 않다 : !=, <>

    - 크다 : >

    - 크거나 같다 : >=

    - 작다 : <

    - 작거나 같다 : <=

  3) 논리 연산자 :

     WHERE 절에서 여러 개의 조건을 결합할 경우

     - X AND Y : X, Y가 참일 때 참을 반환

    - X OR Y : X Y가 참일 때 참을 반환

    - NOT X : X가 거짓일 때 참을 반환

      예) 사원 테이블에서 부서번호(DNO)가 20번이고 봉급(SALARY)이 400이상인 사원의 이름(ENAME)과 직책(JOB) 검색

        - 조건 : DNO = 20 AND SALARY >= 400

  4) DISTINCT

    - SQL Bag 을 기반으로 함 :

      중복된 것들도 다 나옴

    - 중복된 것을 제거하고 한번만 나오게 하는 방법 :

      DISTINCT를 사용함

      예) SELECT DISTINCT 속성명 …

      예) 사원 테이블에서 모든 직급(JOB) 검색

       예) 사원 테이블에서 모든 직급을 중복 없이 검색

 

 

복잡한 데이터 검색

 

1. BETWEEN, IN, IS NULL

  1) BETWEEN a AND b :

    검색 조건의 상한과 하한을 지정함

    - 속성 X 10보다 크거나 같고 50보다 작거나 같음

    - X>=10 AND X<=50

      X BETWEEN 10 AND 50

    예) 사원 테이블에서 봉급이 400보다 크거나 같고 600보다는 작거나 같은 사원들의 정보 검색

  2) IN(a, b, c, …) :

    속성값이 a, b, c ,… 중 하나라도 일치하면 참

    - 속성 X 10이거나 20이거나 30

    - X = 10 OR X = 20 OR X = 30

      X IN(10, 20, 30)

      예) 직급이 ‘section’이거나 ‘senior’인 사원들의 이름과 직급 검색

  3) IS NULL :

     NULL 값은 어떤 비교를 하든 거짓임

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

       X = NULL X NULL 값이어도 결과는 거짓

       결과가 없음

        => IS NULL 이용함

    - NULL 값이 아닌 것들을 찾는 방법

     IS NOT NULL 이용함

 

2. 문자열 검색

  1) LIKE 연산자

    - 컬럼에 저장된 문자열 중에서 LIKE 연산자에서 지정한 문자 패턴과 부분적으로 일치하면 참이 되는 연산자

   2) 부분 문자열 검색에 사용되는 패턴

    - % : 임의의 길이의 문자열

    - _ : 글자 한자

  3) 부분 문자열 검색에 사용되는 패턴

        예) 부서 테이블에서 부서명(DNAME)이 H로 시작하고 n으로 끝나는 부서의 위치(Loc) 검색

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

     - 데이터의 출력 순서를 특정 속성값을 기준으로 오름차순 또는 내림차순으로 정렬해야 하는 경우가 자주 발생함

 

 

3. ORDER BY

  1) ORDER BY

    ORDER BY {column_name} [ASC|DESC]

     - ASC : 오름차순으로, 기본값(생략가능)

    - DESC : 내림차순, 생략불가능 

   예) 봉급(Salary) 기준 내림차순으로 사원들의 이름, 봉급, 부서 번호 출력

  2) 다중 속성 정렬

    예) 봉급(Salary) 기준 내림차순으로 사원들의 이름, 봉급, 부서 번호 출력

        - 봉급이 같은 경우에는 부서번호가 낮은 순으로(오름차순) 정렬함

 

반응형

'컴퓨터 > SQL' 카테고리의 다른 글

트랜잭션  (0) 2020.01.22
데이터 삽입과 변경  (0) 2020.01.22
제약조건  (0) 2020.01.21
데이터 구조 생성과 변경  (0) 2020.01.20
SQL의 개념과 T-SQL  (0) 2020.01.20