본문 바로가기
반응형

분류 전체보기89

TCL(트랜잭션 제어) TCL(트랜잭션 제어) 1) 트랜잭션(Transaction) 한 줄 정의여러 개의 SQL 작업을 하나의 ‘묶음 작업’으로 처리하는 단위입니다.이 묶음은 마지막에 COMMIT하면 확정되고, ROLLBACK하면 취소됩니다.2) ACID 특성(이미지 표 핵심)트랜잭션이 안전하게 동작하려면 아래 성질을 만족해야 합니다.A(Atomicity, 원자성): 전부 성공하거나 전부 실패(부분만 반영 X)C(Consistency, 일관성): 규칙(제약조건 등)을 깨지 않게 유지I(Isolation, 고립성): 동시에 실행돼도 서로 영향 최소화D(Durability, 지속성): COMMIT된 결과는 장애가 나도 유지3) COMMIT: “지금까지 변경을 확정 저장”의미COMMIT을 하면 그 트랜잭션이 종료되고,지금까지 한 I.. 2026. 2. 27.
DML(데이터조작어) DML(데이터조작어) 1) INSERT: 데이터 추가1-1) 단일 행 INSERT(한 줄 추가)테이블에 새 행 1개를 추가합니다.컬럼을 일부만 지정하면, 지정하지 않은 컬럼은 NULL(또는 DEFAULT)이 됩니다.예)INSERT INTO emp (empno, ename, job, hiredate)VALUES (101, 'YONGMOON', 'MANAGER', DATE '2023-08-01'); 1-2) 컬럼 목록 없이 INSERT(전체 컬럼에 넣기)테이블 컬럼 순서대로 값을 모두 넣을 때 사용합니다.실무에서는 컬럼 순서 변경 위험 때문에 보통 권장하지는 않지만, 교재에선 개념 설명용으로 자주 나옵니다.예)INSERT INTO empVALUES (102, 'YONGMOON2', 'CLERK', 790.. 2026. 2. 27.
정규표현식에 대해 자세히 알아보자! 정규표현식에 대해 자세히 알아보자! 1) 정규표현식(Regex) 한 줄 정의문자열에서 “찾을 패턴”을 기호로 표현하는 규칙입니다.→ “특정 형식 찾기(전화번호/이메일/숫자 포함 여부)” 같은 걸 빠르게 처리합니다.2) 패턴을 만드는 핵심 부품(기초)(1) 문자 클래스(대괄호 [])[abc] : a 또는 b 또는 c 중 1개[a-z] : 소문자 1개[0-9] : 숫자 1개[^abc] : a,b,c 가 아닌 문자 1개예)'zip code 12345'에서 [0-9] → 첫 숫자 '1' 매칭(2) 메타 문자(자주 쓰는 축약). : 아무 문자 1개\d : 숫자 1개 (Perl 계열)\D : 숫자가 아닌 1개\w : 영문/숫자/_(언더바)\W : \w가 아닌 것\s : 공백(스페이스/탭 등)\S : 공백이 아닌 것.. 2026. 2. 26.
self join과 계층형질의 self join과 계층형질의 1) 셀프 조인(Self-Join) 요약개념같은 테이블을 2번(또는 그 이상) 불러와서 조인하는 방식입니다.이유: 한 테이블 안에서 “나 ↔ 다른 행”의 관계를 비교해야 할 때가 많기 때문입니다.대표 예: 사원(EMP) 테이블에서 ‘내 관리자 이름’ 찾기EMP 안에 EMPNO(사원번호)와 MGR(관리자 사원번호)가 같이 들어있음예시: “사원과 그 사원의 관리자 이름 같이 출력”직원 행(e1)과 관리자 행(e2)을 같은 EMP에서 매칭조건: e1.MGR = e2.EMPNOSELECTe1.empno AS employee_id,e1.ename AS employee_name,e2.empno AS manager_id,e2.ename AS manager_nameFROM emp e1L.. 2026. 2. 26.
PIVOT에 대해 알아보자 PIVOT에 대해 알아보자 1) PIVOT 절 요약: “행 데이터를 열로 돌려 세운다”개념세로로 늘어진 값(행)을 특정 컬럼의 값 기준으로 **가로 열(컬럼)**로 펼칩니다.보통 “집계(합계/개수)”가 같이 들어갑니다.→ 그래서 피벗은 “요약 보고서 표” 만들 때 많이 씁니다.기본 형태(이미지 내용)SELECT ...FROM (원본 SELECT)PIVOT (집계함수(집계대상컬럼)FOR 피벗기준컬럼 IN (열로 만들 값들...));FOR : “어떤 컬럼을 열로 펼칠 거냐?”IN : “열로 만들 값 목록(직접 적어줘야 함)”예: JOB이 CLERK, SALESMAN… 이 값들이 열 이름이 됨예시 1) “부서(DEPTNO)별 직무(JOB) 인원수”원본 데이터는 보통 이런 형태죠(세로):(DEPTNO=10, J.. 2026. 2. 25.
Top N 쿼리가 무엇인가요? Top N 쿼리가 무엇인가요? 1) ROWNUM(오라클) — “가상 번호(슈도 컬럼)”(1) 슈도 컬럼이란?테이블에 실제로 저장된 컬럼이 아니라, DB가 실행 과정에서 임시로 만들어 주는 값입니다.오라클 대표 슈도 컬럼: ROWNUM, ROWID, LEVEL, CURRVAL/NEXTVAL(시퀀스)(2) ROWNUM 특징결과가 만들어질 때 행에 1,2,3… 번호가 붙습니다.그래서 “상위 몇 행”을 자를 때 쓰기 좋습니다.(3) ROWNUM으로 Top N 하는 기본 패턴(중요)정렬이 먼저, ROWNUM은 그 다음이어야 합니다.그래서 보통 “정렬을 서브쿼리로 감싼 뒤” ROWNUM을 붙입니다.예: 급여(SAL) 높은 순으로 상위 5명SELECT ROWNUM, empno, ename, salFROM (SELE.. 2026. 2. 25.
반응형