1️⃣ 기초 단계 심화 설명 (예제 포함)
✅ SQL 개요
SQL(Structured Query Language)은 관계형 데이터베이스(RDBMS)를 관리하는 언어입니다.
Oracle Database는 대표적인 RDBMS 중 하나이며, SQL을 사용하여 데이터를 저장, 조회, 수정, 삭제할 수 있습니다.
---
✅ 기본 SQL 문법
1. SELECT 문 기본
데이터를 조회하는 가장 기본적인 SQL 문법입니다.
SELECT first_name, last_name FROM employees;
📌 설명: employees 테이블에서 first_name과 last_name 열을 선택하여 출력합니다.
📌 출력 예시:
| first_name | last_name |
|------------|------------|
| John | Doe |
| Jane | Smith |
---
2. WHERE 조건절
특정 조건을 만족하는 데이터만 조회할 수 있습니다.
SELECT * FROM employees WHERE department = 'IT';
📌 설명: department가 'IT'인 직원들만 조회합니다.
✅ 추가 예시 (연산자 사용)
SELECT * FROM employees WHERE salary >= 5000;
📌 설명: salary가 5000 이상인 직원만 조회합니다.
SELECT * FROM employees WHERE first_name LIKE 'J%';
📌 설명: first_name이 'J'로 시작하는 직원만 조회합니다. (LIKE 'J%' 사용)
---
3. ORDER BY (정렬)
데이터를 오름차순(ASC) 또는 내림차순(DESC)으로 정렬합니다.
SELECT first_name, last_name, salary FROM employees ORDER BY salary DESC;
📌 설명: salary 기준으로 내림차순(DESC) 정렬하여 높은 급여부터 출력합니다.
✅ 출력 예시:
| first_name | last_name | salary |
|------------|------------|--------|
| Jane | Smith | 7000 |
| John | Doe | 5000 |
---
4. DISTINCT (중복 제거)
중복된 값을 제거하고 고유한 값만 출력합니다.
SELECT DISTINCT department FROM employees;
📌 설명: employees 테이블에서 중복을 제거한 department 목록만 출력합니다.
✅ 출력 예시:
| department |
|------------|
| IT |
| HR |
| Sales |
---
✅ 데이터 조작 (DML - Data Manipulation Language)
1. INSERT (데이터 삽입)
테이블에 새로운 데이터를 추가합니다.
INSERT INTO employees (first_name, last_name, department, salary)
VALUES ('Alice', 'Brown', 'HR', 6000);
📌 설명: 'Alice Brown' 직원을 HR 부서에 급여 6000으로 추가합니다.
---
2. UPDATE (데이터 수정)
특정 행의 데이터를 수정합니다.
UPDATE employees SET salary = 7500 WHERE first_name = 'Alice' AND last_name = 'Brown';
📌 설명: 'Alice Brown' 직원의 급여를 7500으로 변경합니다.
---
3. DELETE (데이터 삭제)
특정 데이터를 삭제합니다.
DELETE FROM employees WHERE first_name = 'Alice' AND last_name = 'Brown';
📌 설명: 'Alice Brown' 직원을 employees 테이블에서 삭제합니다.
---
4. COMMIT & ROLLBACK (트랜잭션 제어)
COMMIT → 변경 사항을 영구 저장
ROLLBACK → 변경 사항을 되돌림
DELETE FROM employees WHERE department = 'HR';
ROLLBACK;
📌 설명: HR 부서의 모든 직원을 삭제했지만, ROLLBACK을 실행하면 삭제가 취소됩니다.
---
✅ 기본 함수 사용
1. 문자 함수 (VARCHAR 데이터 처리)
SELECT UPPER(first_name), LOWER(last_name) FROM employees;
📌 설명:
UPPER() → 대문자로 변환
LOWER() → 소문자로 변환
✅ 출력 예시:
| UPPER(first_name) | LOWER(last_name) |
|--------------------|-----------------|
| JOHN | doe |
| JANE | smith |
SELECT SUBSTR(first_name, 1, 3) FROM employees;
📌 설명: first_name에서 앞 3글자만 추출
✅ 출력 예시:
| SUBSTR(first_name, 1, 3) |
|--------------------------|
| Joh |
| Jan |
---
2. 숫자 함수 (NUMBER 데이터 처리)
SELECT ROUND(1234.567, 2), TRUNC(1234.567, 2);
📌 설명:
ROUND(값, 소수점 자리) → 반올림 (1234.57)
TRUNC(값, 소수점 자리) → 버림 (1234.56)
✅ 출력 예시:
| ROUND | TRUNC |
|--------|--------|
| 1234.57 | 1234.56 |
---
3. 날짜 함수 (DATE 데이터 처리)
SELECT SYSDATE, ADD_MONTHS(SYSDATE, 3), LAST_DAY(SYSDATE) FROM dual;
📌 설명:
SYSDATE → 현재 날짜 출력
ADD_MONTHS(SYSDATE, n) → n개월 후 날짜 계산
LAST_DAY(SYSDATE) → 해당 월의 마지막 날짜
✅ 출력 예시:
| SYSDATE | ADD_MONTHS(SYSDATE, 3) | LAST_DAY(SYSDATE) |
|------------|---------------------|----------------|
| 2025-03-29 | 2025-06-29 | 2025-03-31 |
---
✅ 기본 집계 함수 (Aggregate Functions)
집계 함수는 여러 행을 하나의 결과로 요약하는 함수입니다.
SELECT COUNT(*) AS total_employees, AVG(salary) AS avg_salary
FROM employees WHERE department = 'IT';
📌 설명:
COUNT(*) → IT 부서 직원 수
AVG(salary) → IT 부서 평균 급여
✅ 출력 예시:
| total_employees | avg_salary |
|----------------|------------|
| 5 | 6200 |
---
📌 정리
기초 SQL 문법을 익히면서 SELECT, WHERE, ORDER BY, INSERT, UPDATE, DELETE, 기본 함수 등을 연습하는 것이 중요합니다.
이제 중급 단계(JOIN, GROUP BY, HAVING, 서브쿼리)로 넘어갈 수 있습니다!
더 궁금한 점이 있으면 알려주세요!
'SQL > ORACLE' 카테고리의 다른 글
| [ORACLE]데이터베이스에서 시퀀스(Sequence)란? (0) | 2025.04.03 |
|---|---|
| [Oracle]4️⃣ 전문가 단계 (대용량 데이터 처리 및 관리) (0) | 2025.03.30 |
| [Oracle]3️⃣ 고급 단계 (PL/SQL 및 성능 튜닝) (0) | 2025.03.30 |
| [Oracle]2️⃣ 중급 단계 (고급 SQL 및 최적화) (1) | 2025.03.30 |
| [Oracle]Oracle SQL학습 로드맵 (0) | 2025.03.30 |