270 likes | 489 Views
Oracle SQL * Plus 실습. Database & Internet Computing Laboratory 한 양 대 학 교. 목차. 기본적인 SQL SELECT 문 작성 데이터 제한과 정렬 여러 테이블로 부터 여러 컬럼 표시 그룹 함수를 사용한 데이터 모임 서브 쿼리. SQL Statement. Oracle Datatype. Oracle 테이블 생성시 각 column 에 지정할 수 있는 데이터 타입들. 1. 기본적인 SQL SELECT 문 작성. 기본적인 Select 문
E N D
Oracle SQL*Plus 실습 Database & Internet Computing Laboratory 한 양 대 학 교 Database & Internet Computing Laboratory, 2007
목차 • 기본적인 SQL SELECT 문 작성 • 데이터 제한과 정렬 • 여러 테이블로 부터 여러 컬럼 표시 • 그룹 함수를 사용한 데이터 모임 • 서브 쿼리 Database & Internet Computing Laboratory, 2007
SQL Statement Database & Internet Computing Laboratory, 2007
Oracle Datatype • Oracle 테이블 생성시 각 column에 지정할 수 있는 데이터 타입들 Database & Internet Computing Laboratory, 2007
1. 기본적인 SQL SELECT 문 작성 Database & Internet Computing Laboratory, 2007
기본적인 Select 문 • SELECT* | { [DISTINCT] column | expression [alias], …}FROM table • SQL문 작성 • SQL 문은 대소문자를 구별하지 않는다. • SQL 문은 하나 이상의 줄로 표현될 수 있다. • 키워드는 생략되거나 여러 줄로 분리될 수 없다. • 절(Clause)은 일반적으로 줄을 분리하여 표시한다. • 들여쓰기(Indent)는 가독성을 향상시키기 위해 사용된다. • 산술 연산자 • + , - , * , / • 산술연산자는 FROM절을 제외한SQL문의 어떤 절이라도 사용 가능 하다. Database & Internet Computing Laboratory, 2007
컬럼 별칭 정의 • 컬럼 별칭: • 컬럼의 제목을 변경 • 계산식과 함께 사용될 경우 유용 Ex2> SELECT ename “Name”, sal*12 “Annual Salary” FROM emp; Database & Internet Computing Laboratory, 2007
결합 연산자 • 결합 연산자: • 컬럼과 다른 컬럼의 문자열을 결합 • 2개의 수직바(||)로 표현 • 문자열로 된 결과 컬럼을 생성 Ex1> SELECT ename || empno AS “Employees” FROM emp; Database & Internet Computing Laboratory, 2007
Ex> SELECT DISTINCT deptno FROM emp; • 중복된 자료 • 중복된 자료 제거 Database & Internet Computing Laboratory, 2007
2. 데이터 제한과 정렬 Database & Internet Computing Laboratory, 2007
SELECT * | {[DISTINCT] column / expression [alias ], …} FROM table WHERE condition(s); • WHERE 절의 사용 조건(condition)은 컬럼 이름, 표현식, 상수, 비교 연산자로 구성된다. • 비교 연산자 Database & Internet Computing Laboratory, 2007
다른 비교 연산자 • 논리 연산자 Database & Internet Computing Laboratory, 2007
ORDER BY 절 • ASC: 오름차순 정렬 (Default) • DESC: 내림차순 정렬 • 기본 정렬 순서는 오름차순이다. • Null 값은 오른차순 정렬에는 마지막에, 내림차순 정렬에는 처음에 표시된다. Database & Internet Computing Laboratory, 2007
3. 여러 테이블로 부터 여러 컬럼 표시 Database & Internet Computing Laboratory, 2007
조인(Join) • 둘 이상의 테이블을 연결하여 데이터를 검색하는 방법 • Equijoin (동등 조인, 내부 조인) • 조건절 Equality Condition(=)에 의한 조인 • Non-equijoin • 테이블의 어떤 컬럼도 조인할 테이블의 컬럼에 일치하지 않을 때 사용 • 동등(=)이외의 연산자를 가짐 (BETWEEN AND, IS NULL, IS NOT NULL, IN, NOT IN) Database & Internet Computing Laboratory, 2007
Self join • Equijoin과 동일하지만 하나의 테이블에서 조인이 발생 • 같은 테이블에 대해 두 개의 별칭을 지정함으로써 사용 • Outer join • Equijoin을 사용하려면 두 개의 테이블에서 두 개의 컬럼에 공통된 값이 존재해야만 함 • Outerjoin은 위의 조인 조건을 만족하지 못하는 행들을 보기 위해서 사용 • 조인 시킬 값이 없는 조인측에 “(+)”를 표시 Database & Internet Computing Laboratory, 2007
4. 데이터 제한과 정렬 Database & Internet Computing Laboratory, 2007
그룹 함수 문법 • 종류 중복불가 중복허용,default Database & Internet Computing Laboratory, 2007
Example Database & Internet Computing Laboratory, 2007
HAVING 절 • 포함된 그룹 함수 HAVING : Alias 사용불가 Database & Internet Computing Laboratory, 2007
5. 서브쿼리 Database & Internet Computing Laboratory, 2007
서브 쿼리 문법 • 사용법 • 서브쿼리는 오직 GROUP BY절에서는 사용될 수 없다. Database & Internet Computing Laboratory, 2007
단일 데이터 서브 쿼리 SALESMAN 800 Database & Internet Computing Laboratory, 2007
IN Database & Internet Computing Laboratory, 2007
복수 데이터 서브 쿼리 추가후 1600, 1250 1600, 1250 Database & Internet Computing Laboratory, 2007
서브 쿼리에서의 Null 값 주의 : 서브 쿼리에 결과값에 NULL이 들어가면 메인 쿼리 에 대해 엉뚱한 결과 값이 나올 수 있다. --------------------------------------------------------------------------- 해결책 : IS NOT NULL 또는 NVL(manager_id, -1) Database & Internet Computing Laboratory, 2007