알고리즘/Oracle Database 11g 12

[Oracle Database 11g] 서브쿼리 : Subquery

서브쿼리 : Subquery - 서브쿼리는 하나의 SQL문 안에서 중복되어 존재하는 SQL문을 의미한다.- 주로 WHERE 절 안에 사용하여 알려지지 않은 조건에 대한 검색을 위해 사용한다.- ( ) 안에 기술해야한다. 1) 사용법 - professor 테이블에 존재하는 '전은지' 의 직책을 가져와 조건으로 사용 - '전은지'의 직책은 '전임강사', professor 테이블에 존재하는 position이 '전임강사'인 ROW를 반환한다. SQL >> SELECT name, positionFROM professorWHERE position = (SELECT position FROM professor WHERE name = '전은지'); RESULT >> 2) 활용 (1) Subquery 안에 그룹함수 사용 ..

[Oracle Database 11g] JOIN

JOIN - ORACLE에서 서로 다른 두 테이블에 존재하는 데이터를 하나의 테이블처럼 사용, 조회하고 싶을 때 사용한다.- JOIN은 Inner Join, Outer Join, Cross Join, Self Join 등이 있다.- 이 글에서는 Inner join의 Equi Join, Natural Join과 Outer Join의 Left Outer Join 에 대해 알아볼 것이다. 1. INNER JOIN 1) Equi Join : 각 테이블에 존재하는 데이터 중 WHERE 절의 조건에 해당하는 데이터를 반환하는 조인방식 SQL >> SELECT * FROM emp, dept WHERE emp.deptno = dept.deptno ; RESULT >> 2) Natural Join : Equi Join ..

[Oracle Database 11g] DECODE

DECODE - Oracle에서 DECODE는 조건에 맞는 다른 값이나 컬럼값으로 추출할 때 사용한다.- DECODE(value, if1, then1, if2, then2, ........ ,else)의 형태이다.- value의 값이 if1이면 then1의 값을 리턴하고, 모든 조건에 맞이 않으면 else를 리턴한다. SQL> SELECT name, deptno, DECODE(deptno, 101, '컴퓨터공학과', 102, '멀티미디어학과', 201, '전자공학과', '기계공학과') DNAMEFROM professor; RESULT >

[Oracle Database 11g] 숫자 함수 : Numeric Functions

숫자 함수 : Numeric Functions 1) ROUND() - ROUND(숫자, 인덱스) - 인덱스 다음 자리에서 반올림하여 인덱스 자리수까지 남김 SELECT name, sal, sal/22, ROUND(sal/22), ROUND(sal/22, 2), ROUND(sal/22,-1)FROM professorWHERE deptno = 101; 2) TRUNC() - 인덱스까지 남기고 나머지 자리수 버림- TRUNC(숫자, 인덱스) SELECT name, sal, sal/22, TRUNC(sal/22), TRUNC(sal/22, 2), TRUNC(sal/22, -1)FROM professor WHERE deptno = 101; 3) MOD(m, n) - m을 n으로 나눈 나머지 SELECT name,..

[Oracle Database 11g] 문자 함수 : Character Functions

문자 함수 : Character Functions 1) INITCAP() - 첫 자를 대문자로 SELECT name, userid, INITCAP(userid)FROM studentWHERE name = '김영균'; 2) LOWER(), UPPER() - 모두 소, 대문자로 SELECT name, userid, LOWER(userid), UPPER(userid)FROM studentWHERE name = '김영균'; 3) LENGTH(), LENGTHB() - 문자의 길이, 문자의 바이트 크기를 리턴 SELECT dname, LENGTH(dname), LENGTHB(dname)FROM department; 4) RPAD(), LPAD() - 문자열이 일정한 크기가 되도록 왼쪽 혹은 오른쪽에 문자를 삽입하..

[Oracle Database 11g] ORDER BY

ORDER BY - 영문은 알파벳 순서로, 한글은 가나다 순서로, 문자는 특수문자 먼저, 숫자는 0 부터, 날짜는 과거의 날짜 부터 - ORDER BY의 디폴트는 ASC(오름차순) 1) ASC - 오름차순 SELECT name, grade, telFROM studentORDER BY name; 2) DESC - 내림차순 SELECT name, grade, telFROM studentORDER BY name DESC; 3) ASC, DESC 복합 사용 SELECT ename, job, deptno, salFROM empORDER BY deptno, sal DESC;

[Oracle Database 11g] 데이터 타입

데이터 타입 1. CHAR - 고정길이 문자 데이터 타입 - 지정된 길이보다 짧은 데이터가 입력되면 나머지 공간은 공백으로 채워짐 - 편차가 심한 데이터를 저장할 때 사용하면 저장 공간 효율이 좋지 않음 (길이가 일정한 경우에 사용하는 것이 좋음) - 최대 크기 : 2000 byte - 최소 크기 : 1 byte 2. VARCHAR2 - size 크기의 가변 문자 데이터 타입 - 지정된 길이보다 짧은 데이터가 입력되면 나머지 공간은 NULL로 처리됨 - 최대 크기 : 4000 byte - 최소 크기 : 1 byte 3. NVARCHAR2 - 국가별 문자 집합에 따른 size 크기의 가변 문자 데이터 타입 - 최대 크기 : 4000 byte - 최소 크기 : 1 byte 4. NUMBER - 숫자 데이터 ..