본문 바로가기

[DB]DataBase/[SQL]

[SQLD] SELECT 문

728x90
반응형

SQL 종류

SQL은 기능에 따라 다음과 같이 구분함

SQL 종류 설명

SELECT문

SELECT문은 6개 절로 구성되며 각 절은 순서대로 작성해야 한다.

(GROUP BY와 HAVING은 서로 바꿀 수 있지만 보통 GROUP BY 다음에 HAVING을 사용함)

SELECT문 작성

SELECT 문의 내부 파싱(문법적 해석) 순서는 나열된 순서와 다르다.

FROM > WHERE > GROUP BY > HAVING > SELECT > ORDER BY 순서로 실행된다.

SELECT [ALL/DISTINCT]
	보고 싶은 컬럼명, 보고 싶은 컬럼명, ...
FROM 해당 컬럼들이 있는 테이블명
;
  • ALL: Default 옵션이므로 별도로 표시하지 않아도 된다.
    • 중복 데이터가 있어도 모두 출력한다.
  • DISTINCT: 중복 데이터가 있는 경우 1건으로 처리해서 출력한다.

SELECT절 작성 규칙

  • SELECT문을 사용하여 조회할 데이터의 컬럼명, 연산 결과를 작성한다.
  • * 를 사용하여 테이블 내 전체 컬럼을 조회할 수 있다.
  • 원하는 컬럼을 콤마(,)로 구분하여 나열할 수 있고, 순서대로 조회가 된다.
  • 표시할 대상 컬럼에 별칭(Alias) 지정이 가능하다.
    • Alias: 컬럼명 대신 출력할 임시 이름이고, 원본 컬럼명은 변경되지 않는다.
    • 컬럼명 뒤에 AS와 함께 컬럼 별칭을 전달한다.
    • 생략할 경우 원본 컬럼명으로 출력된다.
    • 이미 존재하는 예약어는 별칭으로 사용할 수 없다.
      • avg, count, decode, SELECT, FROM 등
    • 다음의 경우 별칭에 반드시 쌍따옴표를 사용한다.
      • 별칭에 공백을 포함하는 경우
      • 별칭에 특수문자를 포함하는 경우("_" 제외)
      • 별칭 그대로 전달할 경우(입력한 대소 구분을 그대로 출력할 경우)

FROM절

  • 조회할 컬럼들이 있는 테이블(Table)명 또는 뷰(View)명을 전달한다.
  • 여러 테이블을 콤마(,)로 구분하여 전달 가능하다.
    • 조인 없이 테이블명을 나열하면 카타시안 곱이 발생하므로 주의한다.
  • 테이블 별칭 선언이 가능하다.
    •  

테이블 별칭 사용 예

WHERE절

FROM절 다음에 위치하며, 조건식은 아래 내용으로 구성된다.

  • 컬럼명(보통 조건식의 좌측에 위치)
  • 비교 연산자
  • 문자, 숫자, 표현식(보통 조건식의 우측에 위치)
  • 비교 컬럼명(JOIN 사용 시)
반응형

'[DB]DataBase > [SQL]' 카테고리의 다른 글

[SQLD] WHERE절  (0) 2024.04.25
[SQLD] 함수  (0) 2024.04.23
[SQLD] 관계형 데이터베이스 개요  (0) 2024.03.10
[SQLD] 본질 식별자 vs. 인조식별자  (0) 2024.03.06
[SQLD] Null 속성  (0) 2024.03.04