•
데이터베이스와 DBMS가 무엇이고, 왜 파일 대신 DB를 쓰는지 설명할 수 있다.
•
SQL을 4가지 종류(DML · DDL · DCL · TCL) 로 분류할 수 있다.
•
SELECT 문의 기본 구조를 이해하고 원하는 컬럼만 조회할 수 있다.
•
별칭(ALIAS) 을 규칙에 맞게 붙일 수 있고, 큰따옴표가 필요한 경우를 안다.
•
산술 연산자와 합성 연산자 || 를 사용할 수 있고, NULL이 낄 때의 차이를 안다.
•
SQL 문장의 실행 순서를 알고, 왜 WHERE절에서 별칭을 쓸 수 없는지 설명할 수 있다.
1. 데이터베이스란 무엇인가
1) 정의
데이터베이스(Database)
여러 사용자가 함께 쓸 수 있도록, 통합해서 저장해 둔 운영 데이터의 집합
이 한 문장 안에 네 가지 성격이 들어 있습니다.
성격 | 영문 | 의미 |
통합 데이터 | Integrated | 같은 데이터가 중복되지 않게 하나로 모아둔 것 |
저장 데이터 | Stored | 컴퓨터가 접근할 수 있는 저장매체에 보관된 것 |
운영 데이터 | Operational | 조직의 업무를 수행하는 데 꼭 필요한 데이터 |
공용 데이터 | Shared | 여러 사용자·프로그램이 함께 사용하는 것 |
2) 데이터베이스의 4가지 특징
특징 | 의미 | 예시 |
실시간 접근성 (Real-time accessibility) | 요청하면 즉시 응답 | 계좌 잔액을 지금 바로 조회 |
계속적인 변화 (Continuous evolution) | 데이터가 끊임없이 갱신됨 | 입금·출금이 계속 발생 |
동시 공용 (Concurrent sharing) | 여러 사용자가 동시에 사용 | 수만 명이 같은 시각에 이체 |
내용에 의한 참조 (Content reference) | 위치가 아닌 값으로 찾음 | "3번째 줄"이 아니라 "잔액 100만원 이상" |
내용에 의한 참조가 핵심입니다.
파일에서는 "몇 번째 줄"인지 알아야 찾지만, DB에서는 WHERE 조건으로 값을 지정해서 찾습니다.3) 왜 파일 대신 데이터베이스를 쓰는가
파일 시스템의 4가지 문제와 DB의 해결
# | 파일 시스템의 문제 | 데이터베이스의 해결 |
1 | 데이터 중복 — 같은 정보가 여러 파일에 | 통합 저장으로 중복 제거 |
2 | 데이터 불일치 — 한 곳만 고치면 값이 어긋남 | 한 곳만 고치면 끝 (무결성) |
3 | 데이터 종속성 — 파일 구조가 바뀌면 프로그램도 전부 수정 | 데이터 독립성 (01강 3층 스키마!) |
4 | 동시 접근 곤란 — 여러 명이 동시에 쓰면 충돌 | 동시성 제어로 안전하게 처리 |
4) DBMS — 데이터베이스를 관리하는 소프트웨어
•
DBMS (DataBase Management System): 사용자와 데이터베이스 사이에서 데이터를 관리해 주는 소프트웨어
•
우리가 쓰는 Oracle이 바로 DBMS입니다. (데이터베이스 ≠ DBMS
)
)DBMS의 주요 기능 | 설명 |
정의 기능 (Definition) | 데이터 구조를 정의 — CREATE, ALTER (DDL) |
조작 기능 (Manipulation) | 데이터를 조회·입력·수정·삭제 — SELECT 등 (DML) |
제어 기능 (Control) | 권한·무결성·동시성·회복 관리 (DCL, TCL) |
DBMS의 3대 기능이 곧 SQL의 분류가 됩니다. 바로 다음 절에서 이어집니다.5) 데이터 모델의 발전 — 관계형 DB가 나오기까지
모델 | 구조 | 한계 / 특징 |
계층형 (Hierarchical) | 트리(부모-자식) | 한 자식은 부모 하나만 → M:N 표현 불가 |
네트워크형 (Network) | 망(그물) | M:N은 가능하나 구조가 복잡해 다루기 어려움 |
관계형 (Relational) ![]() | 표(테이블) | 단순·유연, 수학적 이론(집합)에 기반 → 현재 표준 |
관계형 DB는 1970년 E.F. Codd가 제안했습니다.
복잡한 포인터 대신 "표와 표를 값으로 연결한다" 는 단순한 발상이 세상을 바꿨습니다.
그 "값으로 연결"이 바로 1과목에서 배운 PK-FK 관계입니다.2. 관계형 데이터베이스와 SQL
1) 관계형 데이터베이스(RDB)란
•
데이터를 행(Row)과 열(Column)로 이루어진 표(테이블) 형태로 저장하는 DB
•
테이블끼리 관계(Relationship) 로 연결되어 있음
•
대표 제품: Oracle, MySQL, SQL Server, PostgreSQL
2) 1과목 용어
2과목 용어 대응 
논리 모델 (1과목) | 물리 DB (2과목) | 설명 |
엔터티 (Entity) | 테이블 (Table) | 표 전체 |
인스턴스 (Instance) | 행 (Row, Record) | 표의 한 줄 |
속성 (Attribute) | 컬럼 (Column) | 표의 한 칸(열) |
주식별자 | 기본키 (Primary Key) | 행을 구분하는 컬럼 |
관계 | 외래키 (Foreign Key) | 다른 테이블을 가리키는 컬럼 |
3) SQL의 4가지 종류 


종류 | 명령어 | 하는 일 | AUTO COMMIT |
DML (조작어) | SELECT INSERT UPDATE DELETE | 데이터를 조회·입력·수정·삭제 | (직접 COMMIT 필요) |
DDL (정의어) | CREATE ALTER DROP RENAME TRUNCATE | 테이블 구조를 만들고 바꿈 | 자동 커밋 |
DCL (제어어) | GRANT REVOKE | 권한을 주고 뺏음 | 자동 커밋 |
TCL (트랜잭션 제어어) | COMMIT ROLLBACK SAVEPOINT | 트랜잭션을 확정·취소 | — |
3. SELECT 문의 기본 구조
1) 가장 기본이 되는 두 줄
SELECT 컬럼명, 컬럼명, ... -- 무엇을 볼 것인가 (조회할 컬럼)
FROM 테이블명; -- 어디에서 볼 것인가 (대상 테이블)
SQL
복사
SELECT 결과도 하나의 "표" 입니다. 표를 넣어서 표를 얻는 것 — 이것이 관계형 DB의 핵심입니다.2) 전체 조회와 일부 조회
-- ============================================================
-- 【이해용 예제】 SELECT 의 가장 기본 3가지 형태
-- ============================================================
-- (1) 전체 컬럼 조회 : * (애스터리스크) = "모든 컬럼"
SELECT * -- 테이블의 모든 컬럼을 가져온다
FROM DEPT; -- DEPT 테이블에서
-- DEPTNO DNAME LOC
-- ------ ---------- --------
-- 10 ACCOUNTING NEW YORK
-- 20 RESEARCH DALLAS
-- 30 SALES CHICAGO
-- 40 OPERATIONS BOSTON
-- (2) 원하는 컬럼만 조회 : 컬럼명을 콤마(,)로 나열
SELECT DEPTNO, -- 부서번호만
DNAME -- 부서명만 (LOC 은 가져오지 않는다)
FROM DEPT;
-- DEPTNO DNAME
-- ------ ----------
-- 10 ACCOUNTING
-- 20 RESEARCH
-- 30 SALES
-- 40 OPERATIONS
-- (3) 컬럼 순서는 마음대로 바꿀 수 있다
SELECT DNAME, -- 부서명을 먼저
DEPTNO -- 부서번호를 나중에
FROM DEPT;
-- DNAME DEPTNO
-- ---------- ------
-- ACCOUNTING 10
-- RESEARCH 20
-- ⭐ 테이블에 저장된 순서와 무관하게, SELECT 절에 쓴 순서대로 나온다
SQL
복사
-- ============================================================
-- 【시험용 예제】 * 와 컬럼 나열을 섞어 쓸 수 있는가? ★
-- ============================================================
-- ❌ 이렇게 쓰면 오류
SELECT *, DEPTNO FROM DEPT;
-- ORA-00936: missing expression
-- → * 를 단독이 아닌 다른 컬럼과 섞어 쓸 수 없다
-- ✅ 테이블 별칭을 붙이면 가능해진다
SELECT D.*, -- D 테이블의 전체 컬럼
D.DEPTNO -- 그리고 부서번호를 한 번 더
FROM DEPT D; -- DEPT 에 D 라는 별칭을 붙임
-- DEPTNO DNAME LOC DEPTNO
-- ------ ---------- -------- ------
-- 10 ACCOUNTING NEW YORK 10
--
-- ⭐ 실무 팁: * 는 편하지만 실무에서는 지양한다.
-- 필요 없는 컬럼까지 읽어 성능이 나빠지고, 테이블 구조가 바뀌면 결과가 달라진다.
SQL
복사
4. 별칭 (ALIAS) 

1) 별칭이란
•
컬럼이나 테이블에 임시로 붙이는 다른 이름
•
결과의 머리글(헤더) 이 바뀐다 → 보고서처럼 읽기 쉬워짐
SELECT 컬럼명 AS 별칭 -- AS 는 생략 가능
FROM 테이블명 별칭; -- 테이블 별칭에는 AS 를 쓸 수 없다 ⚠️
SQL
복사
2) 별칭 작성 규칙 
상황 | 큰따옴표 " " | 예시 |
영문 한 단어 | 불필요 | SAL AS SALARY |
한글 한 단어 | 불필요 (권장은 사용) | SAL AS 급여 |
공백이 들어감 | 필수 ![]() | SAL AS "월 급여" |
특수문자가 들어감 | 필수 | SAL AS "급여(원)" |
대소문자를 구분하고 싶음 | 필수 | SAL AS "Salary" |
예약어를 쓰고 싶음 | 필수 | DEPTNO AS "GROUP" |
작은따옴표 ' ' 는 별칭에 쓸 수 없습니다. 작은따옴표는 문자열 값을 표현할 때만 씁니다.-- ============================================================
-- 【이해용 예제】 별칭 붙이는 네 가지 방법
-- ============================================================
SELECT ENAME AS 사원명, -- ① AS + 한글 별칭
JOB 직무, -- ② AS 생략 (공백으로 구분)
SAL AS "월 급여", -- ③ 공백이 있으면 큰따옴표 필수 ⭐
SAL * 12 AS "연봉(원)" -- ④ 특수문자가 있으면 큰따옴표 필수
FROM EMP;
-- 사원명 직무 월 급여 연봉(원)
-- ------ --------- ------- --------
-- SMITH CLERK 800 9600
-- ALLEN SALESMAN 1600 19200
-- ⭐ 계산식(SAL*12)에도 별칭을 붙일 수 있다. 안 붙이면 머리글이 'SAL*12' 로 나온다.
SQL
복사
-- ============================================================
-- 【시험용 예제】 큰따옴표를 빠뜨리면 어떻게 되는가 ★
-- ============================================================
-- ❌ 공백이 있는데 따옴표를 안 씀
SELECT SAL AS 월 급여 FROM EMP;
-- ORA-00923: FROM keyword not found where expected
-- → '월' 까지만 별칭으로 인식하고, '급여' 를 이해하지 못해 오류
-- ❌ 작은따옴표는 별칭에 쓸 수 없음
SELECT SAL AS '월급여' FROM EMP;
-- ORA-00923: FROM keyword not found where expected
-- ✅ 큰따옴표를 써야 한다
SELECT SAL AS "월 급여" FROM EMP;
-- 월 급여
-- -------
-- 800
-- ⭐ 정리
-- 문자열 값 → 작은따옴표 '값'
-- 별칭·객체명 → 큰따옴표 "별칭"
-- 이 둘을 바꿔 쓰는 것이 초보자 최다 실수다.
SQL
복사
5. 산술 연산자
1) 종류와 우선순위
연산자 | 의미 | 우선순위 |
( ) | 괄호 | 1순위 |
* / | 곱하기 · 나누기 | 2순위 |
+ - | 더하기 · 빼기 | 3순위 |
우선순위가 같으면 왼쪽에서 오른쪽으로 계산합니다.
-- ============================================================
-- 【이해용 예제】 산술 연산으로 새로운 값 만들기
-- ============================================================
SELECT ENAME AS 사원명,
SAL AS 월급여,
SAL * 12 AS 연봉, -- 곱하기
SAL + 100 AS "인상후 급여", -- 더하기
SAL / 30 AS 일급, -- 나누기
(SAL + 100) * 12 AS "인상후 연봉" -- 괄호를 먼저 계산 ⭐
FROM EMP;
-- 사원명 월급여 연봉 인상후 급여 일급 인상후 연봉
-- ------ ------ ----- ----------- -------- -----------
-- SMITH 800 9600 900 26.66667 10800
-- ALLEN 1600 19200 1700 53.33333 20400
--
-- ⭐ 괄호가 없으면 SAL + 100 * 12 = SAL + 1200 이 되어 완전히 다른 값이 된다!
SQL
복사
2)
NULL이 끼면 결과는 NULL — 06강 회수
-- ============================================================
-- 【시험용 예제】 산술 연산의 NULL 전염 ★★ 매년 출제
-- ============================================================
SELECT ENAME AS 사원명,
SAL AS 급여,
COMM AS 커미션,
SAL + COMM AS "급여+커미션" -- ⚠️ COMM 이 NULL이면 결과도 NULL
FROM EMP;
-- 사원명 급여 커미션 급여+커미션
-- ------ ----- ------ -----------
-- ALLEN 1600 300 1900 ← 정상
-- SMITH 800 (NULL) (NULL) ← 급여가 있는데 결과가 NULL! ⚠️
-- KING 5000 (NULL) (NULL)
--
-- ⭐ 06강에서 배운 규칙 그대로: 산술 연산에 NULL이 하나라도 끼면 결과는 NULL
-- ⭐ 해결책인 NVL 함수는 08강에서 자세히 배웁니다.
SQL
복사
6. 합성 연산자 ||
1) 문자열을 이어 붙인다
-- ============================================================
-- 【이해용 예제】 여러 컬럼을 한 컬럼처럼 합쳐 보여주기
-- ============================================================
SELECT ENAME || '의 직무는 ' || JOB || '입니다.' AS 소개
-- || : 문자열 결합 연산자
-- '…' : 문자열 값은 작은따옴표로 감싼다
FROM EMP;
-- 소개
-- ---------------------------
-- SMITH의 직무는 CLERK입니다.
-- ALLEN의 직무는 SALESMAN입니다.
-- 숫자도 자동으로 문자로 바뀌어 결합된다
SELECT ENAME || ' : ' || SAL AS "사원별 급여"
FROM EMP;
-- 사원별 급여
-- -----------
-- SMITH : 800
-- ALLEN : 1600
SQL
복사
2)
결합에서 NULL은 "무시"된다 — 06강 회수
산술 연산과 정반대로 동작합니다. 이 차이가 시험의 핵심입니다.
-- ============================================================
-- 【시험용 예제】 산술은 전염, 결합은 무시 ★★
-- ============================================================
SELECT PLAYER_NAME AS 선수명,
NICKNAME AS 별명,
PLAYER_NAME || '(' || NICKNAME || ')' AS 결합결과
FROM PLAYER;
-- 선수명 별명 결합결과
-- ------- ------- -------------
-- 김철수 슈퍼맨 김철수(슈퍼맨) ← 정상
-- 이영희 (NULL) 이영희() ← 별명만 빠지고 괄호는 남는다 ⚠️
--
-- ⭐ 전체가 NULL이 되지 '않는다'. NULL 자리만 비워지고 나머지는 그대로 출력된다.
SQL
복사
두 연산의 차이 한눈에
산술 연산 + | 합성 연산 || | |
100 + NULL / 'ABC' || NULL | NULL (전염) | 'ABC' (무시) |
결과 | 전체가 무너짐 | 나머지는 살아남음 |
7. DISTINCT — 중복 제거 

1) 기본 사용법
-- ============================================================
-- 【이해용 예제】 어떤 값들이 있는지 종류만 보고 싶을 때
-- ============================================================
-- DISTINCT 없이 조회하면 중복이 그대로 나온다
SELECT DEPTNO FROM EMP;
-- DEPTNO
-- ------
-- 20
-- 30
-- 30 ← 중복
-- 20 ← 중복
-- ... (총 14건)
-- DISTINCT 를 붙이면 중복이 제거된다
SELECT DISTINCT DEPTNO -- DISTINCT 는 SELECT 바로 뒤에 딱 한 번만 쓴다
FROM EMP;
-- DEPTNO
-- ------
-- 10
-- 20
-- 30 ← 총 3건 (40번 부서는 사원이 없으므로 안 나옴)
SQL
복사
2)
컬럼이 여러 개면 "조합" 단위로 중복 제거 

컬럼별로 각각 중복을 제거하는 것이 아닙니다.
-- ============================================================
-- 【시험용 예제】 DISTINCT 다중 컬럼의 결과 건수 ★★
-- ============================================================
-- 부서번호만 → 3건
SELECT DISTINCT DEPTNO FROM EMP;
-- DEPTNO
-- ------
-- 10, 20, 30 → 3건
-- 직무만 → 5건
SELECT DISTINCT JOB FROM EMP;
-- JOB
-- ---------
-- CLERK, SALESMAN, MANAGER, ANALYST, PRESIDENT → 5건
-- 부서번호 + 직무 조합 → 9건 (3 × 5 = 15가 아니다!)
SELECT DISTINCT DEPTNO, JOB -- (부서번호, 직무) 짝을 하나의 값으로 보고 중복 제거
FROM EMP;
-- DEPTNO JOB
-- ------ ---------
-- 10 CLERK
-- 10 MANAGER
-- 10 PRESIDENT
-- 20 ANALYST
-- 20 CLERK
-- 20 MANAGER
-- 30 CLERK
-- 30 MANAGER
-- 30 SALESMAN → 실제 존재하는 조합만 9건
--
-- ⭐ 시험 포인트
-- DISTINCT A, B 는 "A의 종류 × B의 종류"가 아니라
-- "실제 데이터에 존재하는 (A,B) 조합의 개수" 만큼 나온다.
SQL
복사
3) NULL도 하나의 값으로 취급된다
-- ============================================================
-- 【시험용 예제】 DISTINCT 와 NULL ★
-- ============================================================
SELECT DISTINCT COMM -- 커미션의 종류
FROM EMP;
-- COMM
-- ------
-- (NULL) ← NULL이 10건 있어도 '한 건'으로만 나온다 ⭐
-- 0
-- 300
-- 500
-- 1400
--
-- ⭐ 06강에서 "NULL끼리는 같은지 알 수 없다(UNKNOWN)"고 배웠지만,
-- DISTINCT / GROUP BY 는 예외적으로 NULL들을 '같은 것'으로 묶어 하나만 남긴다.
-- 이 예외가 시험에 종종 나옵니다.
SQL
복사
8. SQL 문장의 실행 순서 


이 절 하나가 2과목 전체를 관통합니다. 지금 확실히 잡아두면 이후 강의가 전부 쉬워집니다.1) 작성 순서 ≠ 실행 순서
순서 | 절 | 하는 일 |
① | FROM | 어느 테이블에서 가져올지 결정 |
② | WHERE | 조건에 맞는 행을 걸러냄 |
③ | GROUP BY | 같은 값끼리 묶음 |
④ | HAVING | 묶인 그룹을 걸러냄 |
⑤ | SELECT | 보여줄 컬럼을 고름 → 여기서 별칭이 만들어짐 ![]() |
⑥ | ORDER BY | 결과를 정렬 |
2) 그래서 WHERE절에서는 별칭을 쓸 수 없다 

-- ============================================================
-- 【시험용 예제】 별칭을 쓸 수 있는 곳 vs 없는 곳 ★★
-- ============================================================
-- ❌ WHERE 절에서 별칭 사용 → 오류
SELECT SAL * 12 AS 연봉
FROM EMP
WHERE 연봉 > 20000;
-- ORA-00904: "연봉": invalid identifier
-- → WHERE(②)가 SELECT(⑤)보다 '먼저' 실행되므로,
-- WHERE 시점에는 '연봉' 이라는 이름이 아직 존재하지 않는다!
-- ✅ WHERE 절에는 계산식을 그대로 다시 쓴다
SELECT SAL * 12 AS 연봉
FROM EMP
WHERE SAL * 12 > 20000;
-- 연봉
-- ------
-- 28800
-- 35700
-- 36000
-- ✅ ORDER BY 절에서는 별칭 사용 가능!
SELECT SAL * 12 AS 연봉
FROM EMP
ORDER BY 연봉 DESC; -- ORDER BY(⑥)는 SELECT(⑤) 다음에 실행 → 별칭이 이미 존재 ✅
-- 연봉
-- ------
-- 60000
-- 36000
-- 35700
SQL
복사
별칭 사용 가능 여부 정리표 

절 | 실행 순서 | 별칭 사용 | 이유 |
FROM | ① | ![]() | SELECT보다 먼저 실행 |
WHERE | ② | 불가 | SELECT보다 먼저 실행 |
GROUP BY | ③ | 불가 | SELECT보다 먼저 실행 |
HAVING | ④ | 불가 | SELECT보다 먼저 실행 |
SELECT | ⑤ | — | 여기서 별칭 생성 |
ORDER BY | ⑥ | 가능 | SELECT 다음에 실행 |
암기 문장: "별칭은 SELECT에서 태어나므로, SELECT보다 늦게 실행되는 ORDER BY에서만 쓸 수 있다."9. SQL 작성 규칙
규칙 | 내용 | 예 |
대소문자 | SQL 키워드는 구분하지 않음 | select = SELECT |
데이터 값 | 구분함 ![]() | 'SMITH' ≠ 'smith' |
문장 종결 | 세미콜론 ; | SELECT * FROM EMP; |
한 줄 주석 | -- | -- 이것은 주석 |
여러 줄 주석 | /* */ | /* 여러 줄 주석 */ |
줄바꿈 | 자유롭게 가능 | 가독성을 위해 절 단위로 줄바꿈 권장 |
-- ============================================================
-- 【이해용 예제】 권장하는 작성 스타일
-- ============================================================
/* 부서번호 20번 사원의 이름과 연봉을 조회한다
작성일 : 2026-07-20 */
SELECT ENAME AS 사원명, -- 절마다 줄을 바꾸고
SAL * 12 AS 연봉 -- 컬럼도 한 줄에 하나씩
FROM EMP -- 키워드는 대문자, 들여쓰기를 맞추면
WHERE DEPTNO = 20; -- 나중에 읽기가 훨씬 편하다
SQL
복사
가장 흔한 실수: 데이터 값의 대소문자
WHERE ENAME = 'smith' 는 0건입니다. 실제 데이터가 'SMITH' 이기 때문입니다.10. 출제 포인트 한눈에 정리
# | 꼭 외울 것 | 핵심 |
1 | 데이터베이스의 성격 4가지 | 통합 · 저장 · 운영 · 공용 데이터 |
2 | 데이터베이스의 특징 4가지 | 실시간 접근성 · 계속적 변화 · 동시 공용 · 내용에 의한 참조 |
3 | 파일 시스템의 문제 | 중복 / 불일치 / 종속성 / 동시 접근 곤란 |
4 | DBMS의 3대 기능 | 정의(DDL) · 조작(DML) · 제어(DCL·TCL) |
5 | 데이터 모델의 발전 | 계층형 → 네트워크형 → 관계형 |
6 | SQL 4분류 | DML / DDL / DCL / TCL |
7 | DML | SELECT INSERT UPDATE DELETE |
8 | DDL | CREATE ALTER DROP RENAME TRUNCATE |
9 | TCL | COMMIT ROLLBACK SAVEPOINT |
10 | TRUNCATE vs DELETE | TRUNCATE = DDL, 롤백 불가 / DELETE = DML, 롤백 가능 ![]() |
11 | 별칭 큰따옴표 | 공백·특수문자·대소문자 구분·예약어 일 때 필수 |
12 | 따옴표 구분 | 값 → '작은따옴표' / 별칭 → "큰따옴표" |
13 | 산술 연산과 NULL | 결과는 NULL (전염) |
14 | 합성 연산 || 과 NULL | NULL은 무시 (나머지는 출력) ![]() |
15 | DISTINCT 다중 컬럼 | 조합 단위로 중복 제거 |
16 | DISTINCT와 NULL | NULL들도 하나로 묶임 |
17 | 실행 순서 | FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY |
18 | 별칭 사용 가능 절 | ORDER BY 만 가능, WHERE는 불가 ![]() |
11. 확인 문제
Q1. 데이터베이스의 특징으로 옳지 않은 것은?
① 실시간 접근성 ② 계속적인 변화 ③ 동시 공용 ④ 위치에 의한 참조
정답 보기
Q2. 다음 중 DDL에 해당하지 <u>않는</u> 것은?
① CREATE ② ALTER ③ DELETE ④ TRUNCATE
정답 보기
Q3. TRUNCATE TABLE EMP; 와 DELETE FROM EMP; 의 차이로 옳지 않은 것은?
① TRUNCATE는 DDL, DELETE는 DML이다
② TRUNCATE는 WHERE 조건을 쓸 수 없다
③ TRUNCATE는 ROLLBACK으로 되돌릴 수 있다
④ TRUNCATE가 일반적으로 더 빠르다
정답 보기
Q4. 다음 SQL의 오류 원인은?
SELECT SAL AS 월 급여 FROM EMP;
SQL
복사
정답 보기
Q5. EMP 테이블에서 아래 두 SQL의 결과가 다른 이유는?
SQL | SMITH(COMM이 NULL)의 결과 |
SELECT SAL + COMM FROM EMP; | (NULL) |
SELECT ENAME || COMM FROM EMP; | SMITH |
정답 보기
Q6. EMP 테이블에서 DISTINCT DEPTNO 는 3건, DISTINCT JOB 은 5건이다. 그렇다면 SELECT DISTINCT DEPTNO, JOB FROM EMP; 의 결과 건수는?
① 3건 ② 5건 ③ 8건 ④ 실제 존재하는 조합의 개수만큼
정답 보기
Q7. 다음 SQL이 오류가 나는 이유를 실행 순서로 설명하시오.
SELECT SAL * 12 AS 연봉
FROM EMP
WHERE 연봉 > 20000;
SQL
복사
정답 보기
Q8. 별칭을 사용할 수 있는 절은?
① WHERE ② GROUP BY ③ HAVING ④ ORDER BY
정답 보기








(직접 COMMIT 필요)


