Skip to content

Oracle 기반 SQL 문법, DML/DDL/TCL/DCL, 서브쿼리, 인라인뷰, 조인, 뷰, 시퀀스, 트랜잭션, PL/SQL까지 폭넓게 다루는 실습 중심 SQL 연습 프로젝트입니다.

Notifications You must be signed in to change notification settings

BUGISU/sql-study-lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SQL Study Lab

SQL Study Lab는 Oracle 데이터베이스 기반의 SQL 실습 프로젝트로, 데이터 정의어(DDL), 데이터 조작어(DML), 트랜잭션(TCL), 권한(DCL), 함수, 뷰, 시퀀스, 프로시저, 함수, 커서, 트리거 등 다양한 SQL 주제를 포함합니다. 이 프로젝트는 SQL에 대한 실질적인 이해와 실습 능력 향상을 목표로 합니다.

🗂️ 프로젝트 구조


.
├── DDL\_DML\_TCL\_DCL/
├── SELECT\_Queries/
├── Subqueries\_Views/
├── PL\_SQL/
│   ├── Procedure/
│   ├── Function/
│   ├── Cursor/
│   └── Trigger/
├── Practice\_Scripts/
└── Sample\_Data/

📌 주요 학습 내용

📍 SQL 기본

  • SELECT, INSERT, UPDATE, DELETE
  • WHERE, ORDER BY, GROUP BY, HAVING
  • JOIN (INNER, OUTER, SELF), SET 연산자 (UNION, INTERSECT, MINUS)
  • 서브쿼리, 인라인뷰, 다중행 함수

📍 데이터 정의/제어

  • CREATE, ALTER, DROP
  • PRIMARY KEY, FOREIGN KEY, CHECK, UNIQUE, NOT NULL 제약조건
  • SEQUENCE, VIEW, INDEX 관리
  • 트랜잭션 제어(COMMIT, ROLLBACK)

📍 PL/SQL 프로그래밍

  • 기본 블록 구조 (DECLARE, BEGIN, EXCEPTION)
  • 변수 및 RECORD, ROWTYPE 사용
  • 조건문 (IF, CASE), 반복문 (LOOP, WHILE, FOR)
  • 커서(Cursor) 기반의 반복 처리
  • 프로시저(Procedure), 함수(Function)
  • IN / OUT / IN OUT 매개변수 사용
  • 트리거(Trigger) 기본 예제

🧪 예제 샘플

-- 트랜잭션 테스트
BEGIN
  UPDATE emp SET sal = sal * 1.1 WHERE deptno = 30;
  COMMIT;
END;
-- IN OUT 프로시저 예제
CREATE OR REPLACE PROCEDURE double_value(val IN OUT NUMBER) IS
BEGIN
  val := val * 2;
END;

💾 사용 테이블 예시

  • emp, dept, professor, student, employees, departments, score, hakjum
  • 다양한 조인과 통계용 데이터를 포함한 관계형 구조

🛠️ 사용 환경

  • Oracle Database 11g 이상
  • SQL Developer 또는 SQL*Plus
  • set serveroutput on 권장

📚 참고 문서

  • Oracle 공식 문서: https://docs.oracle.com/
  • SQL 문법 요약: SQL Quick Reference
  • PL/SQL 프로그래밍 가이드

About

Oracle 기반 SQL 문법, DML/DDL/TCL/DCL, 서브쿼리, 인라인뷰, 조인, 뷰, 시퀀스, 트랜잭션, PL/SQL까지 폭넓게 다루는 실습 중심 SQL 연습 프로젝트입니다.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages