반응형
0202_개념04_ALIAS별칭2
- 시험에 자주 나온다.
4 별칭 사용 시 큰따옴표가 필요한 경우
- 별칭에 공백을 포함하는 경우
- 별칭에 특수문자를 포함하는 경우(_ 제외)
- 특수문자는 언더바만 허용을 한다. (_)
- 별칭을 있는 그대로 전달하는 경우
- ORACLE은 별칭을 소문자로 입력해도 대문자 출력된다.
- 만약 입력한 대소문자를 그대로 출력하기를 원할 때 큰따옴표가 필요하다.
- 사용할 수 없는 예약어 등을 표현하는 경우
- 이런 것들이 시험문제로 종종 나온다.
- -- [오류]
SELECT SAL 사원 급여
FROM EMP;- 사원(공백)급여
- 공백을 넣어서 오류다.
- -- [해결]
SELECT SAL "사원 급여"
FROM EMP;- 공백을 컬럼명에 넣고 싶다. 그러명 쌍따음표를 넣으면 된다.
- SELECT SAL "$사원급여"
FROM EMP;- 달러는 큰따음표를 쓰면 문제가 없다.
- SELECT SAL 사원_급여
FROM EMP;- 끈따음표 없이 사용이 가능하다. 언더바만 (_)
- SELECT SAL AS SalryOfEmployee
FROM EMP; - SELECT SAL AS "SalryOfEmployee"
FROM EMP;- 큰따음표 없이는 모두 대문자로 표기가 된다.
- 그래서 큰따음표를 쓰게 되면 소문자도 사용할 수 있다.
- -- [오류]
-- 예약어를 사용하여 별칭을 전달하면 오류가 발생한다. - SELECT ENAME AS SELECT
FROM EMP; - -- [해결]
SELECT ENAME AS "SELECT"
FROM EMP;
0202_개념04_ALIAS별칭3
5 별칭 사용 시 주의사항
- ( 1 ) SELECT절에 사용한 별칭 ( 칼럼 별칭 )
- SELECT 문보다 늦게 수행되는 ORDER BY 절에서는 사용할 수 있다.
- 하지만 WHERE, GROUP BY, HAVING 절에서는 사용할 수 없다.
- ( 2 ) FROM절에 사용한 별칭 ( 테이블 별칭 )
- 테이블 별칭은 SELECT절을 포함해 WHERE, GROUP BY, HAVING, ORDER BY 등 모든 절에서 사용 가능하다.
- SQL문은 작성순서와 실행순서가 존재한다.
- 실행순서로 기인해서. 우리가 사용하는 별칭을 사용을 못하는 경우가 있다.
- -- [오류]
-- WHERE는 SELECT보다 먼저 실행되므로,
-- 아직 ANNSAL 별칭은 존재하지 않기 때문에 오류가 발생한다. - SELECT SAL * 12 AS ANNSAL
FROM EMP
WHERE ANNSAL > 2000;- 실행순서가 1. FORM이 먼저 된다. 그리고 2. WHERE이 실행됨
- WHERE입장에서는 아직 SELECT를 만난적이 없다.
- WHERE에 셀렉트의 별칭을 적으면 오류가 나는거다.
- -- [해결]
-- 본래 연산식을 다시 작성해야 한다. - SELECT SAL * 12 AS ANNSAL
FROM EMP
WHERE SAL * 12 > 2000;- 연산식을 한번더 작성하면 된다.
- -- [오류]
-- SELECT 절의 칼럼 별칭은 GROUP BY, HAVING에서도 사용할 수 없다. - SELECT DEPTNO, COUNT(*) AS CNT
FROM EMP
GROUP BY DEPTNO
HAVING CNT > 3;- 실행순서 FORM -> 그다음 GROUP BY HAVING -> SELECT가 제일 마지막
- CNT를 만날 기회가 없던것
- -- [해결]
-- 본래 연산식을 다시 작성해야 한다. - SELECT DEPTNO, COUNT(*) AS CNT
FROM EMP
GROUP BY DEPTNO
HAVING COUNT(*) > 5;- 함수명을 다시 적으면 된다.
0202_개념05_SQL문종류
SQL문 종류
ㆍ SQL은 그 기능에 따라 다음과 같이 구분한다.
종류
구문
설명
|
DDL문 데이터 정의어
|
CREATE ALTER DROP RENAME TRUNCATE
|
Data Definition Language 테이블, 인덱스와 같은 데이터베이스 오브젝트의 구조를 정의(생성, 변경, 삭제)하기 위한 구문
|
|
DML문 데이터 조작어
|
SELECT INSERT UPDATE DELETE MERGE
|
Data Manipulation Language 테이블에 저장된 데이터를 조작(조회, 입력, 수정, 삭제) 하기 위한 구문
|
|
DCL문 데이터 제어어
|
GRANT REVOKE
|
Data Control Language 데이터에 대한 권한을 부여하거나 취소하기 위한 구문
|
|
TCL문 트랜잭션 제어어
|
COMMIT ROLLBACK SAVEPOINT
|
Transaction Control Language DML문에 의해 데이터의 변경 사항을 데이터베이스에 영구히 반영하거나 취소하기 위한 트랜잭션(Transaction)을 제어하는 구문
|
- 시험에서 한문제 꼭 나온다.
- SQL 문 종류
- DDL
- 테이블을 생성. 수정. 삭제. 이름바꾸기. 데이터 바꾸기
- DML
- 조작어
- MERGE 병합
- DCL
- GRANT : 사용자 유저에게 권한을 부여
- REVOKE: 회수
- TCL
- COMMIT : 저장
- ROLLBACK : 취소
- SAVEPOINT : 지정을 지정한다. 지정을 취소하거나 커밋
- DDL
0202_개념06_SELECT문구조
1 SELECT문 구조
- SELECT 문은 다음과 같이 6개의 절로 구성되어있다.
- 각 절은 순서대로 작성해야 한다.
- GROUP BY절과 HAVING절의 순서는 서로 바꿀 수 있지만, 권장하지 않는다.
2. SELECT문 작성 순서
- 밑의 순서를 외워야 한다.
- 밑의 순서대로 된다.
- 문제에서 순서를 바꿔서 출제를 한다.
SELECT 칼럼명
FROM 테이블명
WHERE 조회할 데이터 조건
GROUP BY 그룹핑칼럼명
HAVING 그룹핑 필터링 조건
ORDER BY 정렬칼럼명
3 SELECT문 실행 순서
FROM > WHERE > GROUP BY > HAVING > SELECT > ORDER BY 순으로 실행된다.

》QUIZ
<aside>
다음 SELECT문을 이루는 절 중에서 가장 나중에 실행되는 것은 무엇인가?
① FROM ② WHERE ③ ORDER BY ④ GROUP BY
</aside>
- 정답③SELECT문에서 가장 나중에 실행되는 절은 ORDER BY절이다.
조회 대상인 속성을 추출한 다음 최종적으로 정렬을 수행한다. - </aside>
- 해설
- <aside>
반응형
'코딩 > SQLD 자격증' 카테고리의 다른 글
| SQL Developer 설치 및 환경설정 (0) | 2025.06.18 |
|---|---|
| 0202_개념04_ALIAS별칭1 (1) | 2025.06.18 |
| 0202_개념03_DISTINCT중복제거 (0) | 2025.06.18 |
| 0202_개념02_FROM절 (0) | 2025.06.18 |
| 0202SELECT => 0202_개념01_SELECT문 (0) | 2025.06.18 |