SQL (SELECT 문, FROM 절)


SELECT 문 구조
  • SELECT문은 6개의 절로 구성
  • FROM > WHERE > GROUP BY > HAVING > SELECT > ORDER BY 순서로 실행
  • 각 절의 순서대로 작성해야 함
  SELECT * | 컬럼명
    FROM 테이블명 or 뷰명
   WHERE 조회 조건
GROUP BY 그룹핑 컬럼명
  HAVING 그룹핑 필터링 조건
ORDER BY 정렬 컬럼명


SELECT 절
  • SELECT 문장을 사용하여 불러올 컬럼명, 연산 결과를 작성하는 절
  • SELECT 절에서 표시할 컬럼에 Alias (별칭) 사용 가능
  • * 는 테이블 내 전체 컬럼명을 가져옴
SELECT *
  FROM EMP;

   ↪ EMP 테이블의 전체 컬럼 조회

SELECT EMPONO, ENAME, SAL
  FROM EMP;

   ↪ EMP 테이블의 EMPONO, ENAME, SAL 컬럼 조회



Alias (별칭)
  • 컬럼명 대신 임시 이름으로 쓰임
  • 컬럼명 뒤에 AS로 컬럼 별칭을 전달함
  • SELECT 문보다 늦게 수행되는 ORDER BY절에서만 컬럼 별칭 사용 가능
    • 쿼리 구조 상 SELECT 문이 가장 앞에 있지만 해석 순서는 다르기에
      SELECT 문 뒤에 있는 ORDER BY 절만 Alias 인식
SELECT EMPNO AS 사번
       ENAME 사원이름

   ↪ AS는 생략 가능

SELECT EMPNO AS NEW EMPNO -- AS에 공백이 포함되어 있음
  FROM EMP;



SELECT EMPNO AS "NEW EMPNO" -- AS에 공백이 있는 경우 쌍따옴표 전달
  FROM EMP;

   ↪ Alias 주의사항



FROM 절
  • 데이터를 불러올 테이블명을 정의
  • 테이블 여러 개 전달 시 컴마로 구분
  • 테이블 별칭 선언 가능 Alias 사용 X
SELECT E.ENAME, EMP.DEPTNO, E.SAL -- 테이블 별칭 사용 오류
  FROM EMP E
 Where E.DEPTNO = 5;



SELECT E.ENAME, E.DEPTNO, E.SAL -- 올바른 테이블 별칭 사용
  FROM EMP E
 Where E.DEPTNO = 5;

 -- EMP 테이블 별칭을 "E" 로 선언
 -- "E" 테이블에서 DEPTNO가 5인 사원만 선택
 -- DEPTNO가 5인 사원의 ENAME, DEPTNO, SAL을 조회

   ↪ 테이블 별칭을 선언한 경우는 테이블명으로 사용 불가