SQL 기본 — SELECT/INSERT/UPDATE/DELETE
DML 4대 구문과 WHERE 조건절 작성법.
SQL 문법은 필기에서 3~5문항이 출제된다. SELECT 구문의 실행 순서(FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY)를 반드시 외우자.
SQL은 크게 DDL(정의), DML(조작), DCL(제어)로 나뉜다. DML의 핵심 4구문: SELECT(조회), INSERT(삽입), UPDATE(수정), DELETE(삭제).
-- 기본 SELECT
SELECT 이름, 부서
FROM 직원
WHERE 급여 >= 3000
ORDER BY 이름 ASC;
-- INSERT
INSERT INTO 직원(이름, 부서, 급여)
VALUES ('홍길동', '영업', 3500);
-- UPDATE
UPDATE 직원
SET 급여 = 급여 * 1.1
WHERE 부서 = '개발';
-- DELETE
DELETE FROM 직원
WHERE 이름 = '홍길동';| 분류 | 명령어 | 설명 |
|---|---|---|
| DDL | CREATE, ALTER, DROP, TRUNCATE | 구조 정의 |
| DML | SELECT, INSERT, UPDATE, DELETE | 데이터 조작 |
| DCL | GRANT, REVOKE | 권한 제어 |
| TCL | COMMIT, ROLLBACK, SAVEPOINT | 트랜잭션 제어 |
SELECT 실행 순서 — FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY. 별칭(alias)은 SELECT에서 정의되므로 WHERE에서 쓸 수 없다!
WHERE 조건 연산자: `=`, `<>`, `BETWEEN A AND B`, `IN(값1, 값2)`, `LIKE '패턴'`, `IS NULL`, `IS NOT NULL`. LIKE 와일드카드: `%`(0개 이상), `_`(1개).
직원 테이블에서 부서가 '영업'인 사원의 이름과 급여를 급여 내림차순으로 조회하시오.
LIKE 연산자에서 임의의 한 글자를 의미하는 와일드카드는?
이름이 '김'으로 시작하는 직원 조회: SELECT * FROM 직원 WHERE 이름 (___) '김%';
급여가 3000~5000 범위인 직원: SELECT * FROM 직원 WHERE 급여 (___) 3000 AND 5000;
부서가 '영업' 또는 '개발'인 직원: SELECT * FROM 직원 WHERE 부서 (___) ('영업','개발');
SELECT 실행 순서: FROM → (___) → GROUP BY → (___) → SELECT → ORDER BY
급여가 NULL인 직원 조회: SELECT * FROM 직원 WHERE 급여 (___);