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 문이 가장 앞에 있지만 해석 순서는 다르기에
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을 조회
↪ 테이블 별칭을 선언한 경우는 테이블명으로 사용 불가