IT 개발 라이프/DB

오라클 데이터베이스 기초 문법 📚

10Biliion 2024. 12. 2. 14:39

안녕하세요! 😊 오늘은 데이터베이스 중에서도 강력하고 널리 사용되는 **오라클 데이터베이스(Oracle Database)**의 기초 문법에 대해 알아보려고 합니다. 데이터베이스를 처음 배우시는 분들이 쉽게 이해할 수 있도록 예시와 함께 설명드릴게요.

 


2️⃣ 오라클의 주요 데이터 타입 ✍️

오라클에서는 데이터를 저장할 때 적절한 데이터 타입을 지정해야 합니다. 주요 데이터 타입은 다음과 같습니다:

데이터 타입설명예시

VARCHAR2 가변 길이 문자열 'Hello'
NUMBER 숫자(정수, 실수 포함) 123, 45.67
DATE 날짜와 시간 2024-12-01
CLOB 대용량 텍스트 100MB 텍스트
BLOB 바이너리 대용량 데이터 이미지 파일

3️⃣ 기본 SQL 문법 🖋️

오라클에서 데이터를 처리하기 위해 사용하는 SQL(Structured Query Language) 문법을 살펴볼까요?

3.1 테이블 생성하기

테이블은 데이터를 저장하는 기본 단위입니다.

CREATE TABLE employees (
    emp_id NUMBER(5) PRIMARY KEY, -- 사원 ID
    emp_name VARCHAR2(50),       -- 사원 이름
    hire_date DATE,              -- 입사일
    salary NUMBER(10, 2)         -- 급여
);

💡 주석은 --를 사용해 추가할 수 있어요!


3.2 데이터 삽입하기

데이터를 테이블에 삽입할 땐 INSERT 문을 사용합니다.

INSERT INTO employees (emp_id, emp_name, hire_date, salary)
VALUES (1001, '홍길동', TO_DATE('2024-01-15', 'YYYY-MM-DD'), 3500.50);

👉 TO_DATE 함수를 사용해 문자열을 날짜로 변환할 수 있습니다.


3.3 데이터 조회하기 🔍

테이블의 데이터를 조회하려면 SELECT 문을 사용합니다.

SELECT emp_id, emp_name, salary
FROM employees
WHERE salary > 3000; -- 급여가 3000 이상인 사원 조회

💡 조건은 WHERE 절로 지정하며, 여러 조건을 조합할 땐 AND 또는 OR를 사용할 수 있어요.


3.4 데이터 수정하기 ✏️

데이터를 수정할 땐 UPDATE 문을 사용합니다.

UPDATE employees
SET salary = salary + 500
WHERE emp_id = 1001; -- 사원 ID가 1001인 직원의 급여를 500 증가

3.5 데이터 삭제하기 🗑️

필요 없는 데이터를 삭제할 땐 DELETE 문을 사용합니다.

DELETE FROM employees
WHERE hire_date < TO_DATE('2023-01-01', 'YYYY-MM-DD');

4️⃣ 기본 함수 활용하기 🛠️

오라클은 데이터를 쉽게 다룰 수 있는 다양한 내장 함수를 제공합니다.

함수 설명 예시
SYSDATE 현재 날짜와 시간 SELECT SYSDATE FROM DUAL;
TO_CHAR 날짜 → 문자열 변환 TO_CHAR(hire_date, 'YYYY-MM-DD')
NVL NULL 값을 대체 NVL(salary, 0)
SUBSTR 문자열 일부 추출 SUBSTR(emp_name, 1, 2)
ROUND 숫자 반올림 ROUND(salary, 2)

5️⃣ 기본 JOIN 문법 연결하기 🤝

다양한 테이블 데이터를 조합하려면 JOIN을 사용합니다.
오라클에서는 다음과 같은 JOIN 문법을 지원합니다:

5.1 INNER JOIN

SELECT e.emp_name, d.dept_name
FROM employees e, departments d
WHERE e.dept_id = d.dept_id;

💡 특정 조건을 만족하는 행만 조합합니다.


5.2 OUTER JOIN

SELECT e.emp_name, d.dept_name
FROM employees e, departments d
WHERE e.dept_id = d.dept_id(+);

💡 **(+ 표기법)**은 오라클 고유의 OUTER JOIN 방식이에요. 조건이 맞지 않아도 한쪽 데이터를 모두 표시합니다.