Database/ORACLE 9

[ORACLE] SQL에서 페이징(Pagination)

기본 문법)SELECT 컬럼명FROM 테이블명ORDER BY 컬럼명OFFSET 시작행 ROWSFETCH NEXT 가져올행수 ROWS ONLY; ex)-- 예: 11번째부터 20번째 행까지 조회SELECT *FROM employeesORDER BY employee_idOFFSET 10 ROWS -- 앞 10개 건너뜀FETCH NEXT 10 ROWS ONLY; -- 다음 10개 가져옴11 ~ 20번째 행 조회 페이지 번호가 page이고, 한 페이지당 size개라면:OFFSET (page - 1) * size ROWSFETCH NEXT size ROWS ONLY;

Database/ORACLE 2025.08.05

[ORACLE] 문자열 찾기: LIKE / INSTR

📍 비교 INSTRLIKE용도문자열 위치 찾기패턴 매칭반환값정수 (1부터 시작, 없으면 0)TRUE / FALSE (조건식에서 사용)속도대체로 빠름(단, 인덱스 미사용 시 LIKE와 비슷)패턴 복잡도에 따라 느릴 수 있음활용포함 여부만 체크위치값 필요포함 여부만 체크복잡한 패턴 (와일드카드, 자리수)와일드카드없음%, _ 지원 ✅ LIKE기본 문법)SELECT * FROM 테이블명WHERE 컬럼명 LIKE '패턴'; 와일드카드% _ 0개 이상의 문자를 의미정확히 1개의 문자를 의미 ex) %SELECT * FROM usersWHERE name LIKE 'kim%';kim으로 시작하는 값kim123, kimmy, ... SELECT * FROM usersWHERE name LIKE '%park..

Database/ORACLE 2025.08.05

[ORACLE 이론] 중복 제거: UNION, DISTINCT / 중복: UNION ALL

📍 비교DISTINCTUNION UNION ALL하나의 SELECT 결과 안에서 중복 제거여러 SELECT 결과를 합친 후 중복 제거여러 SELECT 결과를 합친 후 중복 제거 X ✅ DISTINCT하나의 SELECT 결과 안에서 중복 제거대상 컬럼 전체를 기준으로 중복을 판단쿼리 구조가 단순할 때 사용 기본 문법)SELECT DISTINCT [컬럼명] FROM [테이블명]; ex)SELECT DISTINCT nameFROM table_a;table_a의 name 컬럼에서 중복 제거 ✅ UNION여러 SELECT 결과를 합친 후 중복 제거각 SELECT 결과를 합친 다음, 전체에서 중복을 판단컬럼 개수, 타입이 동일해야 함 기본 문법)SELECT column1, column2, .....

Database/ORACLE 2025.01.21

[ORACLE 이론] DECODE / CASE

1) 조건에 따라 다른 값을 반환하는 데 사용되는 함수2) DECODE는 CASE 구문과 유사한 기능3) DECODE는 Oracle에서 제공하는 고유한 함수    ✅ DECODE  📌 장점간단한 조건에 따른 값 변환을 처리할 수 있습니다.CASE 문에 비해 구문이 간단하고 직관적일 수 있습니다. 📌 단점복잡한 조건이나 여러 조건을 처리할 때 CASE 구문보다 가독성이 떨어질 수 있습니다.DECODE는 Oracle에 특화된 함수이므로 다른 데이터베이스 시스템에서는 사용할 수 없습니다.SQL 표준을 준수하려면 CASE 구문을 사용하는 것이 더 좋습니다.DECODE(컬럼명, 비교값1, 반환값1, 비교값2, 반환값2, ..., 기본값)   ex)1️⃣ 특정 값에 따라 다른 값을 반환하는 경우 SELECT e..

Database/ORACLE 2025.01.15

[ORACLE 이론] 값이 null일 때 다른 값: NVL

NVLNVL2NULL 값인 경우 특정값으로 출력NULL 값이 아닐 경우 특정값으로 출력 ✅ NVL 함수NVL 함수는 값이 NULL인 경우 지정값을 출력하고, NULL이 아니면 원래 값을 그대로 출력함수 : NVL("값", "지정값") ex)SELECT NVL(HOBBY,'없음') FROM USER;hobby가 null이면 없음을 반환 ✅ NVL2 함수NVL2 함수는 NULL이 아닌 경우 지정값1을 출력하고, NULL인 경우 지정값2를 출력함수 : NVL2("값", "지정값1", "지정값2") / NVL2("값", "NOT NULL", "NULL") SELECT NVL(HOBBY, HOBBY, '없음') FROM USER;

Database/ORACLE 2024.02.15

[ORACLE 이론] 조건문: AND / OR / BETWEEN

기본 문법)SELECT [컬럼명] FROM [테이블명] WHERE [조건] 조건문 3가지ANDORBETWEEN [조건] AND [조건] [조건] OR [조건] BETWEEN [A] AND [B] 1️⃣ ANDSELECT [컬럼명] FROM [테이블명] WHERE [조건] AND [조건] ex)name이 김 이고 money 가 10000 인 값 조회SELECT * FROM test WHERE name = '김' AND money = 10000; 2️⃣ ORSELECT [컬럼명] FROM [테이블명] WHERE [조건] OR [조건] ex)name이 김 이거나 money 가 10000 인 값 조회SELECT * FROM test WHERE name = '김' OR money = 1000..

Database/ORACLE 2024.02.14

[ORACLE 이론] CRUD 삽입 INSERT, 읽기 SELECT, 갱신 UPDATE, 삭제 DELETE

Q. DB에 대해 처음 접하게 되면 아주 흔하게 들어보는 말은?A. CRUD대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 CREATE, READ, UPDATE, DELETE를 나타냄 CRUD 대신에 다음과 같은 유사용어도 사용- ABCD: add(추가), browse(보기), change(변경), delete(삭제) - ACID: add(추가), change(변경), inquire(질의), delete(삭제) - BREAD: browse(보기), read(읽기), edit(편집), add(추가), delete(삭제) - VADE(R): view(참조), add(추가), delete(삭제), edit(편집), 트랜잭션 처리에서는 restore(복원) 추가 CRUD 종류INSERTSE..

Database/ORACLE 2024.02.14

[ORACLE 이론] 테이블 생성 CREATE, 수정 ALTER, 삭제 DROP

📍요약생성CREATECREATE TABLE [테이블명] ([컬럼명][데이터타입]([사이즈]));추가ALTERALTER TABLE [테이블명] ADD ([컬럼명][타입]([사이즈]));삭제DROPDROP TABLE [테이블명]; ✅ CREATECREATE TABLE [테이블명]( [컬럼명][데이터타입]([사이즈]) ); ex)CREATE TABLE employees ( id INT PRIMARY KEY, name VARCHAR(100), hire_date DATE, salary DECIMAL(10, 2)); ✅ ALTER 1️⃣ 컬럼 추가ALTER TABLE [테이블명] ADD ([컬럼명][타입]([사이즈])); 2️⃣ 컬림 이름 수정ALTER TABLE [..

Database/ORACLE 2024.02.14