집합연산자는 조회(SELECT) 쿼리의 결과를 대상으로 연산을 수행하는 연산자이다. UNION, UNION ALL, INTERSECT, MINUS등이 있다. 조회의 결과를 대상으로 연산을 수행하므로, 여러 개의 SELECT문을 하나의 쿼리로 만드는 연산자라고 할 수 있다. 정리를 하기 전에, 아래와 같은 데이터가 있다고 가정하자 1234567891011순번 과목명 이름----------------------1 국어 철수2 영어 철수3 수학 철수1 국어 영희2 사회 영희3 과학 영희4 도덕 영희5 영어 영희 cs 철수는 순서대로 국어, 영어, 수학을 이번학기에 듣고, 영희는 국어, 사회, 과학, 도덕, 영어를 이번학기에 듣는다. 이 데이터를 예로, 집합연산자를 소개하려고 한다. 1. UNION UNION은..
오라클에서 사용할 수 있는 함수(사용자 정의 함수)제외를 간단하게 정리함. 1. 숫자함수 - ABS(n): n의 절대값을 반환함 - CEIL(n), FLOOR(n): n보다 같거나 큰 정수를 반환한다 (n은 실수) - ROUND(n, i): n을 소수점 i+1번째 자리에서 반올림 - TRUNC(n,i): n을 소수점 i+1번째 자리에서 버림 - POWER(n1, n2): n1을 n2번 거듭제곱한 결과 - MOD(n1, n2): n1을 n2로 나눈 나머지 값 2. 문자함수 - INITCAP(char): char의 첫문자(공백과 숫자를 제외한 알파벳 중 첫문자)만 대문자, 나머지는 소문자로 변환 - LOWER(char): char을 소문자로 변환 - UPPER(char): char을 대문자로 변환 - CON..
SQL의 조건식은 WHERE절에서 많이 사용된다. WHERE절은 SELECT, UPDATE, DELETE문에서 특정 조건의 레코드를 지정하고 싶을 때 사용된다. WHERE절에서 사용했던 NOT, NULL등의 조건식들의 모두 포함된다고 보면 된다. 조건식의 분류는 아래와 같다. 1. 비교조건식 (ex: ANY, SOME, ALL, IN, EXIST) 2. 논리조건식 (ex: AND, OR, NOT, BETWEEN) 3. NULL조건식 4. LIKE조건식 1. 비교조건식 비교조건식은 논리연산자(, 등, 참고: [ORACLE] SQL의 연산자(Operator) 정리)나 ANY, SOME, ALL, IN, EXISTS 키워드로 특정 값을 비교하는 조건식을 말한다. 논리연산자의 사용 예는 생략하고, ANY와 SO..
WHERE문은 SQL의 SELECT, UPDATE, DELETE문에서 쓰인다. 오늘은 SELECT문에서 자주 쓰이는 WHERE 조건에 대해 포스팅해보려고한다. 오라클에서는 다양한 연산자를 제공하는데, 분류하자면 아래와 같다. 1. 수식연산자 (예: +, -, *, /) 2. 문자연산자 (예: ||) 3. 논리연산자 (예: =,, 등) 4. 집합연산자 (예: UNION, INTERSECT 등) 5. 계층형 쿼리연산자 1. 수식연산자 더하기, 빼기, 곱하기, 나누기이다. +와 -의 경우, 양수와 음수를 나타낼 때 사용하기도 한다. 당연히 조건식에 직접적으로는 잘 사용되지 않는다. (+, -, *, / 로는 논리적 판단을 할 수가 없음) 2. 문자연산자 ||이 있는데, 두 문자를 연결하는 연산을 수행한다. 사..
부제: 인덱스란?, 인덱스에 대하여. 색인(Index, 앞으로는 '인덱스'라고 칭하겠다.)은 오라클에서 데이터를 빨리 찾기 위한 용도의 데이터베이스 객체이다. 위키피디아에서 정의한 인덱스의 뜻은 다음과 같다. "데이터베이스 분야에 있어서 테이블에 대한 동작의 속도를 높여주는 자료 구조" 정의가 조금 애매하지만, 보통 인덱스를 통해 성능 향상을 얻는 연산은 검색 연산(SQL의 SELECT)이다. (더 이상의 자세한 설명은 생략한다.) 인덱스가 무엇인지 설명하기 보다는, 오라클에서 인덱스를 어떻게 사용하는지 다루려고한다. 인덱스는 테이블에 있는 한 개 이상의 컬럼으로 만들 수 있다. 생성 예는 아래와 같다. 123CREATE INDEX indexname1ON table1(column1) cs 한편, 인덱스는..
제약조건은 컬럼에 대한 속성을 정의하는 것이며, 데이터 무결성을 보장하기 위한 용도로 사용된다. 다시말해, 제약조건을 설정한다는 것은 테이블이나 속성에 부적절한 데이터가 들어오는 것을 사전에 차단하도록 규칙을 정하는 것이라고 생각하면 된다. 제약조건은 컬럼의 속성처럼 사용하지만, 엄연히 데이터베이스의 객체이므로 고유의 이름(제약조건 명)을 지정해주어야 한다. 사용자가 지정하지 않는 경우, ORACLE이 자동으로 부여해준다. 1. NOT NULL 컬럼을 정의할 때(NOT NULL의 경우 오로지 컬럼에만 적용 가능하다. 테이블은 안됨.) NOT NULL 제약조건을 명시하면 해당 컬럼에는 반드시 데이터를 입력해야만 한다. 반드시 데이터가 들어와야만 하는 컬럼에 명시를 해두면 유용할 것이다. 사용 예는 아래와 ..
데이터 타입(DataType)은 컬럼이 저장되는 데이터 유형을 말한다. 오라클의 데이터 타입은 오라클이 기본으로 제공하는 기본 데이터 타입(혹은 원시 데이터 타입)과 사용자 정의 데이터 타입으로 분류할 수 있다. 1. 문자 데이터 타입 문자나 문자열 데이터를 저장할 수 있는 데이터 타입을 의미한다. 종류와 특징은 아래와 같다. 데이터 타입 설명 CHAR(size) 고정길이 문자를 저장. 최대 2000byte. 최소 1byte. VARCHAR(size) 가변길이 문자를 저장. 최대 2000byte. 최소 1byte. NCHAR(size) CHAR와 같으나 유니코드 형태이다. NVARCHAR(size) VARCHAR과 같으나 유니코드 형태이다. LONG 최대 2GB 크기의 가변길이 문자형이다. 잘 사용하지 ..