심심한 개발자의 취미생활

컬럼 및 로우의 선택

SELECT 구분

SELECT [DISTINCT {* | COLUMN| 표현식}]
    FROM 테이블명;

SQL문 작성 규칙

  • 인용부호를 붙이지 않으면 대소문자를 구분하지 않음
  • 여러 라인에 걸쳐서 작성이 가능하며, 가독성을 위해 들여 쓰기 하는 것이 좋음
  • 키원드는 여러 행에 나누어 쓰거나 약어로 쓸 수 없음
  • 여러 컬럼을 검색 할 경우 쉽표로 컬럼을 구분함
  • SELECT 절에서 출력 겨롸를 표시할 순서대로 컬럼을 지정함

산술 연산 (+, -, *, /)

SELECT ENAME, SAL, SAL * 3 
    FROM EMP;
  • 연산자 우선 순위
    1. 곱하기 및 나누기를 더하기나 빼기보다 먼저 수행
    2. 동둥한 우선순위를 갖는 연산은 외쪽에서 오른쪽으로 수행
    3. 괄호를 사용해서 연산자 우선순위 지정

컬럼 별칭(ALIAS)

  • 컬럼의 원래 이름이 아닌 별도의 이름을 컬럼 HEADING에 표시함
  • 주로 연산이 된 컬럼에 사용함
  • 컬럼 명 다음에 AS를 슨 뒤, 그 뒤에 별칭으로 상요할 단어를 제시함
  • 특수 문자나 공백을 컬럼의 별칭으로 상요하고 하면 별칭에 큰 따옴표를 사용

특정 row 선택하기(WHERE)

SELECT [DISTINCT {* | COLUMN| 표현식}]
    FROM 테이블명
    WHERE CONDITION(S);
  • WHERE절을 사용하여 질의에서 반환되는 행을 제한할 수 있음
  • WHERE절은 조건을 기술하며, FROM절 바로 다음에 사용함
  • 조건이 참일 경우 조건을 만족하는 행이 반환됨
  • CHAR, VARCHAR2와 같은 문자형 타입과 DATE날짜 타입을 가진 컬럼을 특정 값과 비교하기 위해서는 인용부호(작은 따옴표)로 묶어서 비교 처리를 해야 하지만 NUMBER같은 숫자 형태의 값은 인용부호를 사용하지 않고 그대로 사용하면 됨

비교 연산자

  • =, >, >=, <, <=, <>, !=, ^=

SQL 연산자

BETWEEN A AND B

  • 조건절에 명시된 값이 지정된 A값과 B값 사이에 포함되는지 비교함
    • A값과 B값 모두 포함
    • 항상 A < B 조건으로 입력
  • 비교하는 값의 범위가 110에서 120 사이의 값이라고 하면, BETWEEN 110 AND 120 으로 형식으로 사용함

IN

  • 형태는 IN (VALUE1, VALUE2, VALUE3...)이며, 비교대상이 괄호 안의 값중 하나와 일치하는지를 확인함
  • 비교하는 값이 하나이더라도 반드시 괄호와 같이 사용해야 함
  • IN 다음 비교하는 값은 문자 타입, 숫자 타입, 날짜 타입 모두 사용할 수 있음

LIKE

  • LIKE를 사용하여 특정 문자나 문자열이 포함되어 있는지를 확인함
  • 특정 패턴에 속하는 값을 조회하고자 하는 경우 사용함
  • WILDCARD 문자(%, _)를 이용해 문자열 부분 매칭 여부를 확인함
    • %는 0개 문짜 또는 1개 이상의 문자열이 올 수 있음을 의미함
    • _(언더바)는 반드시 1개 문자가 있어야 함을 의미함

IS NULL

  • NULL 값이란?
    • 한 행의 특정 컬럼에 데이터 값이 없으면 그 값을 NULL이라고 함
    • NULL 값은 알 수 없는 값(으로서) 0 또는 공백과 다름
    • NULL 값을 포함하는 연산의 경우 결과 값도 널임
  • IS NULL(값이 NULL인 값)
    • =, >, < 비교 연산자를 사용한 경우 항상 조건이 FALSE가 됨
    • IS NULL 연잔사를 사용해서 NULL 여부를 확인함