본문 바로가기

Programming/SQL(Oracle)

(15)
DAY 53. [DataBase] 오라클 DDL(CREATE), 제약조건 DDL (Data Definition Language) 오라클에서 제공하는 객체를 만들거나(CREATE) 변경하거나(ALTER) 삭제(DROP)하는 쿼리문 값(데이터)을 가지고 하는게 아니라 데이터 구조 자체를 정의하는 언어 db 관리자나 설계자들이 주로 사용한다. 테이블(TABLE), 뷰(VIEW), 시퀀스(SEQUENCE), 인덱스(INDEX), 패키지(PACKAGE), 프로시저(PROCEDUAL), 함수(FUNCTION), 트리거(TRIGGER), 동의어(SYNONYM), 사용자(USER) 01. CREATE 테이블, 인덱스, 뷰 등 데이터 베이스 객체를 생성하는 구문 [표현법] CREATE TABLE 테이블명(컬럼명 [공백] 자료형(크기), 컬럼명 자료형(크기), ...); -- 테이블 내의 컬럼..
DAY 52. [DataBase] 오라클 서브쿼리 SUBQUERY SUBQUERY SELECT 문장 안에 포함된 또 다른 SELECT 문장으로 메인 쿼리가 실행되기 전 한 번만 실행된다. 비교 연산자의 오른쪽에 기술해야 하고, 반드시 괄호로 묶어야 한다. 서브쿼리와 비교할 항목은 반드시 서브쿼리의 SELECT한 항목의 개수와 자료형을 일치시켜야 한다. 1. 단일행 서브쿼리 (SINGLE ROW SUBQUERY) ▶️ 서브쿼리의 조회 결과 값의 개수가 1개인 서브쿼리 단일행 서브쿼리 앞에는 일반 연산자를 사용해서 값을 비교할 수 있다. ( , ≤, ≥, =, ≠//^= (서브쿼리) ) 메인 쿼리에서 비교할 컬럼 값을 가지고 서브쿼리 구문을 작성해서 값을 비교할 수 있다. 단일행, 단일열의 형태 2. 다중행 서브쿼리 (MULTI ROW SUBQUERY) ▶️ 서브쿼리의 조..
DAY 51. [DataBase] 오라클 JOIN JOIN 하나 이상의 테이블에서 데이터를 조회하기 위해 사용한다. 수행 결과는 하나의 Result Set으로 나온다. 관계형 데이터 베이스는 최소한의 데이터를 테이블에 담고 있는다. 그 방법으로 중복을 최소화하고 데이터를 쪼개서 저장, 관리한다. 이 때, 데이터의 무결성(데이터가 일관성 있게 유지되는 것)이 중요하다. 하나의 테이블에서 데이터가 변경되면 나머지 테이블에도 영향을 주기 때문에 JOIN을 통해서 여러 테이블에 있는 데이터를 하나로 합쳐서 가져오게 된다. 즉, SQL문을 사용해서 여러 테이블들 간의 관계를 활용해서 데이터를 하나의 Result Set의 형태로 조회하는 방법이다. 01. 오라클 전용 구문 FROM 절에 ',' 로 구분하여 합칠 테이블 명을 나열하여 기술하고, WHERE 절에 합치..
DAY 50. [DataBase] 오라클 UNION 집합 연산자 여러 개의 SELECT 결과물을 하나의 쿼리로 만드는 연산자 UNION 여러 개의 쿼리 결과를 합치는 연산자로 중복된 영역은 제외하여 합침 두 쿼리문을 수행한 결과 값을 더한 후에 중복되는 행은 중복을 제거한다. UNION ALL 여러 개의 쿼리 결과를 합치는 연산자로 중복된 영역 모두 포함하여 합침 UNION과 동일하게 두 쿼리문을 수행한 결과값을 더하고 중복은 허용한다. 컬럼명은 선행하는 결과값 컬럼값으로 고정이 된다. 각각 컬럼에 해당하는 데이터 타입이 같고, 갯수도 같아야 한다. (컬럼명은 달라도 상관없음) INTERSECT(교집합) 여러 개의 SELECT 결과에서 공통된 부분만 결과로 추출 두 쿼리문을 수행한 결과값에 중복된 결과값만 추출한다. MINUS(차집합) 선행 SELECT ..
DAY 49. [DataBase] 오라클 GROUP BY ORDER BY SELECT한 컬럼에 대해 정렬을 할 때 작성하는 구문이다. SELECT 구문의 가장 마지막에 작성하고 실행 순서 역시 가장 마지막에 수행된다. [표현식] SELECT 컬럼명 [, 컬렴명, ...] FROM 테이블명 WHERE 조건식 ORDER BY 컬럼명 | 별칭 | 컬럼 순번 정렬방식 [NULLS FIRST | NULSS LAST]; * ASC : 오름차순(기본값) * DESC : 내림차순 GROUP BY 그룹 함수는 단 한 개의 결과 값만 산출하기 때문에 그룹이 여러 개 일 경우에는 오류가 발생한다. 여러 개의 결과 값을 산출하기 위해서 그룹 함수가 적용될 그룹의 기준을 GROUP BY절에 기술하여 사용한다. 그룹의 기준을 제시할 수 있는 구문이다. 여러 개의 값들을 하나의 그룹으로..
DAY 48. [DataBase] 오라클 함수 함수(Function) 하나의 큰 프로그램에서 반복적으로 사용되는 부분들을 분리하여 작성해 놓은 작은 서브 프로그램 호출하며 값을 전달하면 결과를 리턴하는 방식 01. 단일 행 함수 문자 처리 함수 ◾LENGTH 컬럼 값, 문자열의 길이(문자 개수)를 반환한다. ◾LENGTHB 주어진 컬럼 값, 문자열 길의(BYTE)를 반환한다. 한글 : 1 글자 = 3BYTE 영문&특수문자 = 1BYTE ◾ INSTR 지정한 위치부터 지정한 숫자 번째로 나타나는 문자의 시작 위치를 반환한다. (실행 흐름은 왼쪽 → 오른쪽) POSITION이 0보다 작으면 오른쪽->왼쪽으로 실행된다. OCCURANCE 는 생략 가능하고, 지정하지 않으면 기본 값은 1 ◾ LPAD / RPAD 주어진 컬럼, 문자열에 임의의 문자열을 왼쪽..
DAY 47. [DataBase] 데이터베이스, DBMS, SQL Database의 정의 한 조직에 필요한 정보를 여러 응용 시스템에서 공동으로 사용할 수 있도록 논리적으로 연관된 데이터를 모으고 중복된 데이터를 최소화하여 구조적으로 통합 · 저장한 것 공용 데이터(Shared Data) : 공동으로 사용되는 데이터 통합 데이터(Integrated Data) : 중복의 최소화로 중복으로 인한 데이터 불일치 현상 제거 저장 데이터(Stored Data) : 컴퓨터 저장장치에 저장된 데이터 운영 데이터(Operational Data) : 조직의 목적을 위해 사용되는 데이터 Database의 특징 실시간 접근성(real time accessibility) : 사용자가 데이터 요청 시에 실시간으로 결과를 서비스 한다. 계속적인 변화(continuous change) : 데이터..