Oracle DataBase

SELECT

조회 범위

  • 특적 컬럼 조회
  • 특정 행 조회
  • 특정 행 + 컬럼 조회
  • 여러 테이블의 특정 행 + 컬럼 조회 (join)

특징

  • 키워드는 대/소문자 구분하지 않는다.
  • 키워드, 테이블 이름, 컬럼 이름은 약자로 줄여쓸 수 없다.
  • ’,’나 ‘/’로 행을 끝내야 한다.
  • AS 로 별칭을 주게 될 때 주의점
    • 별칭에 공백이나 특수문자가 들어가거나, 대소문자를 구별하고 싶을 때 ““를 사용한다.
    • 별칭은 공백으로 시작할 수 없다.
    • DOUBLE QUOTATION은 별칭으로 인식하지 않는다.
  • ‘missing expression’ : 구문이 잘못된 경우
    • ’,’를 더 찍거나
    • ’,’를 안찍거나
    • 같은 KEYWORD를 두번 적던가
    • 필요 KEYWORD를 안적던가

문법

  • ‘*‘를 사용하여 모든 COLUMN 조회 가능 (권장하지는 않음)
  • AS로 SQL 한 문장 내 SCOPE에서 컬럼이나 테이블에 대한 별칭 적용 가능
  • WHERE로 SQL SELECT에 대한 조건 제시
    • 논리 연산자
      • AND : 여러 조건이 모두 TRUE인 경우
      • OR : 여러 조건 중 하나라도 TRUE인 경우
      • NOT : 반대 값으로 반환 (NULL 예외)
      • NULL > TRUE == FALSE
    • 비교 연산자
      • <>, !=, ^= : 같지 않다
      • BETWEEN AND : 특정 범위에 포함되는지 비교
      • 상/하한 경계 모두 표현할 수 있는 조건에서만 사용
      • LIKE / NOT LIKE : 문자 패턴 비교
      • ’%’나 ‘_‘로 패턴을 표현할 수 있다.
        • % : 임의의 문자열이 올 수 있다.
          • EX) LIKE '김%' -> 김길동, 김에스더
        • _ : _ 하나 당 한 글자가 올 수 있다.
          • EX) LIKE '김_' -> 김선, 김갑
        • ‘_‘가 찾고자 하는 COLUMN의 문자열로 들어가 있는 경우 WILDCARD를 ‘문자열’로 인식 시켜야 한다.
      • ESCAPE OPTION을 사용하여 EXCAPE OPTION 뒤에 오는 글자는 패턴이 아닌 문자열로 인식하게 한다. - EX) EMAIL LIKE '___\_%' EXCAPE '\'
      • IS NULL / IS NOT NULL : NULL값 여부 비교
      • IN : 비교 값 목록에 포함되는지 여부 비교

관계도

  • 식별관계 : 부모의 PK와 자식의 PK가 연결되어 있는 관계를 의미
  • 비식별관계 : 부모의 PK가 자식의 PK가 아닌, 다른 일반 COLUMN과 연결되어 있는 관계를 의미
  • RELATION LINE
    • O를 포함한 도식 LINE : OPTIONAL
    • 옵션erd.png
    • O가 없는 도식 LINE : MUST
    • 필수erd.png
Written on January 30, 2020