본문 바로가기

전체 글37

[오라클] WHERE 절과 HAVING 절의 차이 오라클 SQL을 공부하다 보면 WHERE과 HAVING의 차이에어 많이들 헷갈리는 것 같다. 둘 다 조건을 거는 절이라는 공통점이 있어서일까?? 처음 접하게 되면 매우 혼란스럽기 때문에 정리를 해보려고 한다. 두 절은 실행되는 시점과 역할이 완전히 다르다는 것만 기억하면 될 것 같다.1. WHERE 절이란?WHERE 절은 데이터를 그룹화하기 전에 행(Row) 단위로 조건을 걸어주는 역할을 한다. 다시 말해 테이블에서 필요 없는 데이터를 미리 걸러내는 필터??라고 생각하면 될 것 같다.📌중요 포인트WHERE는 GROUP BY보다 먼저 실행집계 함수(COUNT, SUM, AVG)등 사용 XSELECT * -- 예시이기 때문에 *를 사용하겠다. FROM EMP WHERE DEPTNO = 10.. 2026. 1. 7.
[오라클] 인덱스(Index) 완벽 정리 1. 인덱스(Index)란?인덱스는 데이터를 빠르게 찾기 위한 자료구조다. 책에서 원하는 내용을 찾을 때 맨 앞의 목차를 먼저 보고 페이지를 찾는 것처럼, 오라클에서는 인덱스를 이용해 테이블 전체를 읽지 않고 필요한 데이터만 빠르게 조회한다.2. 인덱스가 필요한 이유❌ 인덱스가 없다면?테이블 전체를 처음부터 끝까지 읽는 FULL TABLE SCAN 발생데이터가 많을수록 조회 속도 급격히 저하SELECT * FROM EMP WHERE EMPNO = 7788; ✔️ 인덱스가 있다면?인덱스를 통해 EMPNO = 7788위치를 바로 찾아감CREATE INDEX IND_EMP_EMPNO ON EMP(EMPNO); 3. 오라클 인덱스 내부 구조📌 오라클의 기본 인덱스는 B-Tree 구조다.📌 오라클은 인덱스.. 2026. 1. 6.
[오라클] 트랜잭션(Transaction) COMMIT / ROLLBACK 완벽 정리 데이터베이스를 다루다 보면 데이터가 정말 저장이 된 건지 혹시 실수했는데 되돌릴 순 없는지라는 고민을 한 번쯤은 해보게 된다. 이 모든 것을 책임지는 개념이 바로 트랜잭션(Transaction)이다. 오늘은 오라클에서 트랜잭션이 무엇인지 그리고 COMMIT / ROLLBACK이 어떤 역할을 하는지 알아보자...! 1. 트랜잭션(Transaction)이란?트랜잭션이란 하나의 논리적인 작업 단위를 의미한다.여러 SQL 문이 하나의 묶음으로 처리되고모두 성공하거나, 모두 실패해야 하는 작업※ 예시로 이해해 보자아래 두 SQL은 A 계좌에서 돈을 빼고 B 계좌에 넣는 하나의 작업이다.UPDATE ACCOUNT SET BALANCE = BALANCE - 10000 WHERE USER_ID = 'KIM'; U.. 2026. 1. 5.
[오라클] INSERT 문법 완벽 정리 (예제+주의 사항) INSERT는 테이블에 새로운 데이터를 추가할 때 사용하는 DML문이다. 회원 등록, 로그 저장, 주문 생성 등 모든 서비스의 시작점이 되는 문법이다. INSERT 기본 개념테이블에 새로운 행(row) 추가컬럼 순서와 값 순서는 반드시 일치컬럼 목록 생략 가능하지만 권장하진 않는다.INSERT INTO 테이블명 ( 컬럼 1 , 컬럼 2 , ... ) VALUES ( 값 1 , 값 2 , ... );※ 예제용 테이블 EMPEMPNOENAMEDEPTNOSALJOBHIREDATE1001KI.. 2026. 1. 3.