오라클 6

[데이터베이스실습] 07. 집합 연산자와 조인

여러 테이블(또는 여러 조회 결과)을 하나로 합치는 방법은 크게 두 가지다. 집합 연산자는 결과를 위아래로(세로로) 잇고, 조인은 좌우로(가로로) 잇는다. 이 둘의 방향 차이를 먼저 잡아두니 헷갈리지 않았다.특히 조인은 관계형 데이터베이스의 진짜 위력이 드러나는 지점이다. 정규화로 잘게 나눠둔 테이블들을 다시 의미 있게 엮어주는 것이 바로 조인이기 때문이다.1. 집합 연산자두 SELECT 결과를 세로로 잇는다. 두 SELECT의 열 개수와 자료형이 같아야 한다.연산자의미UNION합집합, 중복 제거UNION ALL합집합, 중복도 모두 출력MINUS차집합 (첫 결과에서 두 번째 결과를 뺌)INTERSECT교집합 (양쪽에 다 있는 행만)SELECT empno, ename, deptno FROM EMP WHER..

data/oracle 2026.08.15

[데이터베이스실습] 06. 다중행 함수와 그룹화

지금까지의 함수는 한 행을 받아 한 결과를 내는 단일행 함수였다. 이번에 다룬 다중행 함수(집계 함수)는 여러 행을 묶어 하나의 값으로 요약한다. "부서별 평균 급여", "직책별 인원 수" 같은 통계가 모두 여기서 나온다.그리고 이 집계를 "무엇을 기준으로 묶을지" 정하는 것이 GROUP BY, 묶은 결과에 조건을 거는 것이 HAVING이다.1. 다중행 함수 (집계 함수)함수설명SUM합계COUNT개수MAX최댓값MIN최솟값AVG평균SELECT SUM(sal) FROM emp; -- 급여 합계SELECT COUNT(*) FROM emp WHERE deptno=30; -- 30번 부서 인원SELECT MAX(sal), MIN(sal) FROM emp WHERE deptno=..

data/oracle 2026.08.06

[데이터베이스실습] 05. 오라클 함수 - 숫자·날짜·변환

문자 함수에 이어, 이번에는 숫자·날짜를 다루는 함수와 자료형을 서로 바꾸는 변환 함수, 그리고 NULL과 조건을 처리하는 함수를 정리했다. 실무 쿼리에서 "보기 좋은 형태로 가공하는" 일의 대부분이 여기서 이뤄진다고 한다.1. 숫자 함수함수설명ROUND(숫자, 위치)특정 위치에서 반올림 (생략 시 소수 첫째 자리)TRUNC(숫자, 위치)특정 위치에서 버림 (생략 시 소수 첫째 자리)CEIL(숫자)올림 (그보다 크거나 같은 가장 작은 정수)FLOOR(숫자)내림 (그보다 작거나 같은 가장 큰 정수)MOD(숫자, 나눌수)나눈 나머지SELECT ROUND(1234.5678, 2), -- 1234.57 TRUNC(1234.5678, 2), -- 1234.56 ROUND(1234.567,..

data/oracle 2026.07.30

[데이터베이스실습] 04. 오라클 함수 - 문자 함수

연산자만으로는 다루기 어려운 데이터 가공을, 오라클은 다양한 내장 함수(built-in function)로 지원한다. 함수는 처리 단위에 따라 두 갈래로 나뉜다.단일행 함수(single-row function): 한 행마다 하나의 결과. 문자·숫자·날짜 함수가 여기 속한다.다중행 함수(multiple-row function): 여러 행을 묶어 하나의 결과. COUNT·SUM 같은 집계 함수다.오늘은 그중 가장 자주 쓰는 문자 함수들을 예제와 함께 정리했다.DUAL 테이블로 함수 테스트하기함수 결과만 가볍게 확인하고 싶을 때, EMP 같은 실제 테이블에 대고 조회하면 14행이 똑같이 반복되어 번거롭다. 이럴 때 오라클이 제공하는 행 하나짜리 더미 테이블 DUAL을 쓰면 결과가 딱 한 줄 나온다.SELECT..

data/oracle 2026.07.23

[데이터베이스실습] 03. SELECT - WHERE 조건

SELECT가 데이터를 꺼내는 명령이라면, WHERE는 그중 원하는 행만 걸러내는 조건이다. 실무 쿼리의 난이도는 사실상 이 WHERE 절을 얼마나 정확히 쓰느냐에 달려 있다고 한다.이번엔 비교·논리 연산자부터 IN·BETWEEN·LIKE, 그리고 내가 가장 많이 헤맨 NULL 처리까지, 조건을 거는 도구들을 예제와 함께 익혔다.1. WHERE 절SELECT [열] FROM [테이블] WHERE [조건식];조건식이 참(TRUE)인 행만 결과에 포함된다.SELECT * FROM EMP WHERE DEPTNO = 30; -- 30번 부서 사원만SELECT * FROM EMP WHERE SAL >= 3000; -- 급여 3000 이상문자열은 작은따옴표, 대소문자 구분문자 데이터는 반드시 작은따옴표로 감..

data/oracle 2026.07.16

[데이터베이스실습] 01. 데이터베이스 기초

이 시리즈는 오라클(Oracle)을 직접 다루며 SQL을 손에 익히는 실습 과정이다. 본격적으로 테이블을 만들고 쿼리를 던지기 전에, 첫 글에서는 무엇을 다루는가에 대한 토대를 잡는다.관계형 데이터베이스가 무엇이고, 데이터를 담는 그릇인 릴레이션이 어떤 규칙 위에 서 있으며, 데이터가 망가지지 않게 지키는 제약조건이 무엇인지를 짚어야한다. 이 토대가 흔들리면 이후의 SELECT·조인·서브쿼리가 전부 모래 위 집이 된다.여러명이 동시 사용할 수 있는, 검색이라는 목적을 가진.1. 데이터베이스와 DBMS데이터베이스와 DBMS데이터베이스: 조직체의 응용 시스템들이 공유해서 사용하는 운영 데이터(operational data)가 구조적으로 통합된 모임.DBMS: 데이터베이스를 정의하고, 질의어를 지원하며, 리포..

data/oracle 2026.06.26