Database & Internet Computing Laboratory 한 양 대 학 교

Slides:



Advertisements
Similar presentations
1 SQL 정보보호학과 양 계 탁. 2 SQL 개요 SQL 개요 3 Database u 연관된 데이터들의 집합 u 데이터를 쉽게 관리하는 프로그램 종 류종 류 관계형 데이터베이스 객체지향형 데이터베이스 계층형 데이터베이스 네트워크 데이터베이스 데이터를 2 차원적인 테.
Advertisements

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
강사: 이종인 다우 교육원 전임강사 / 온디멘드 수석 컨설턴트 / FMG 수석 컨설턴트
SQL 언어 SQL.
Nested Queries CSED421: Database Systems Labs.
소리가 작으면 이어폰 사용 권장!.
데이터 모델링 방법론 2003년 03월.
PL/SQL.
데이터베이스 시스템.
Proc*C 기초 Style System 김도형.
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
대용량 데이터베이스 솔루션 발표자: 박보영 2007년 5월19일.
오라클 데이터베이스 성능 튜닝.
DataBase 기본 교육 신입사원용 최지철.
박시우 ( 업무에 바로 쓰는 SQL 튜닝 박시우 (
Chapter 5 SQL: 확장된 질의, 주장, 트리거, 뷰.
제 5 장 인덱스 생성 및 관리.
데이터 베이스 설계 및 실습 #1 - 오라클 설치 및 SQL 기본.
SELECT 문 사원 테이블의 모든 정보를 출력하는 예제 1. 비교 연산자 SELECT 문의 형태
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
APM 실습 (MySQL).
SQL-99: 스키마 정의, 기본제약조건, 질의어 충북대학교 구조시스템공학과 시스템공학연구실
7장 조인.
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
You YoungSEok 고급 SQL You YoungSEok
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
10장. 데이터베이스 보안과 권한 관리 데이터베이스 보안과 권한 관리
데이터베이스 담당교수 신정식 Chapter 4 SQL(1).
Toad for Oracle 설치 방법.
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
11장. 데이터베이스 서버 구축과 운영.
요약 정보 만들기.
오라클 데이터베이스 성능 튜닝.
kHS 데이터베이스 테이블 및 인덱스 kHS.
롯데마트 CRM 데이터 분석 교육 2014년 12월 > RE::VISION 전용준 리비젼컨설팅 대표
롯데마트 CRM 데이터 분석 교육 2014년 12월 > RE::VISION 전용준 리비젼컨설팅 대표
기초 T-SQL.
14장 뷰.
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
14 뷰(View) 뷰의 개념 뷰 관리.
뷰와 저장 프로시저 뷰의 개념을 이해한다. 뷰의 정의와 관리 방법을 이해한다. 뷰를 사용함으로써 생기는 장점을 알아본다.
SELECT empno, ename, job, sal, dname FROM emp, dept
3장 SQL*Plus 명령어.
9장 테이블 생성 및 변경, 삭제하기(DDL).
DP-ORA 쿼리 최적화 가이드 쿼리 최적화 방법 2014년 7월.
SQL.
YOU Youngseok 트랜잭션(Transaction) YOU Youngseok
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
강사: 이종인 다우 교육원 전임강사 / 온디멘드 수석 컨설턴트 / FMG 수석 컨설턴트
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
Chapter 3: Introduction to SQL
데이터 타입 데이터 타입.
고급 T-SQL.
CHAPTER 06. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
13장 무결성 제약조건.
정보처리기사 8조 신원철 양진원 유민호 이기목 김다연 윤현경 임수빈 조현진.
SQL Query in the SSMS : DB, Table
View(뷰) 1 가상 테이블(Virtual Relation)
Database 중고차 매매 DB 비즈니스IT 윤동섭.
11장. GROUP BY와 HAVING 열의 그룹화 2개 이상의 열에 대한 그룹화
오라클 쿼리 문제 EMP (사원 테이블) DEPT (부서 테이블) 컬럼명 설명 EMPNO 사원번호 ENAME 사원명 JOB
기본적인 SELECT문 작성.
8장 테이블의 생성 및 변경 정인기.
15 사용자 권한 제어 데이터베이스 보안 권한 롤 동의어.
06. SQL 명지대학교 ICT 융합대학 김정호.
테이블 관리 테이블 생성,수정,삭제 데이터 입력 수정, 삭제 2010학년도 2학기.
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
GB ridge 웹 모바일및 빅데이터 응용과정 3주차: 데이터베이스 프로그래밍 [경기도형 대학생 취업브리지 사업]
Presentation transcript:

Database & Internet Computing Laboratory 한 양 대 학 교 Oracle SQL*Plus 실습 Database & Internet Computing Laboratory 한 양 대 학 교 Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 목차 기본적인 SQL SELECT 문 작성 데이터 제한과 정렬 여러 테이블로 부터 여러 컬럼 표시 그룹 함수를 사용한 데이터 모임 서브 쿼리 Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 SQL Statement 문장 설명 SELECT 데이터베이스로부터 데이터를 검색함 INSERT UPDATE DELETE MERGE 새로운 데이터를 추가하고, 이미 존재하는 데이터를 변경하고, 테이블에서 원하지 않는 자료를 삭제함. DML(Data Manipulation Language. 데이터 조작 언어) CREATE ALTER DROP RENAME TRUNCATE 테이블을 생성하고, 변경하고, 삭제하고, 테이블 이름을 변경하고, 테이블의 자료를 삭제함. DDL(Data Definition Language. 데이터 정의 언어). COMMIT ROLLBACK SAVEPOINT DML문장으로 생성된 변화를 관리함. 데이터에 대한 변화는 논리적인 트랜잭션으로 함께 그룹화될 수 있다. GRANT REVOKE 오라클 데이터베이스와 그 내부의 구조에 대한 접근 권한을 주거나 박탈함. DCL(Data Control Language. 데이터 제어 언어). Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 Oracle Datatype Oracle 테이블 생성시 각 column에 지정할 수 있는 데이터 타입들 DATA TYPE  설    명 VARCHAR2(n)   가변 길이 문자 데이터(1~4000byte) CHAR(n) 고정 길이 문자 데이터(1~2000byte) NUMBER(p,s)  전체 p자리 중 소수점 이하 s자리 DATE 날짜(7Byte), 고정 길이 필드로 저장 LONG 가변 길이 문자 데이터(1~2Gbyte) CLOB  단일 바이트 가변 길이 문자 데이터(1~4Gbyte) RAW(n) n Byte의 원시 이진 데이터(1~2000), 크기가 적은 이진 데이터의 저장에 사용 LONG RAW  가변 길이 원시 이진 데이터(1~2Gbyte) BLOB 가변 길이 이진 데이터(1~4Gbyte) BFILE 가변 길이 외부 파일에 저장된 이진 데이터(1~4Gbyte) Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 1. 기본적인 SQL SELECT 문 작성 Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 기본적인 Select 문 SELECT * | { [DISTINCT] column | expression [alias], …} FROM table SQL문 작성 SQL 문은 대소문자를 구별하지 않는다. SQL 문은 하나 이상의 줄로 표현될 수 있다. 키워드는 생략되거나 여러 줄로 분리될 수 없다. 절(Clause)은 일반적으로 줄을 분리하여 표시한다. 들여쓰기(Indent)는 가독성을 향상시키기 위해 사용된다. 산술 연산자 + , - , * , / 산술연산자는 FROM절을 제외한 SQL문의 어떤 절이라도 사용 가능 하다. Ex> SELECT ename, sal, sal + 300 FROM emp; Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 컬럼 별칭 정의 컬럼 별칭: 컬럼의 제목을 변경 계산식과 함께 사용될 경우 유용 Ex1> SELECT ename AS name, comm commission FROM emp; Ex2> SELECT ename “Name”, sal*12 “Annual Salary” FROM emp; Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 결합 연산자 결합 연산자: 컬럼과 다른 컬럼의 문자열을 결합 2개의 수직바(||)로 표현 문자열로 된 결과 컬럼을 생성 Ex1> SELECT ename || empno AS “Employees” FROM emp; Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 중복된 자료 Ex> SELECT deptno FROM emp; 중복된 자료 제거 Ex> SELECT DISTINCT deptno FROM emp; Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 2. 데이터 제한과 정렬 Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 WHERE 절의 사용 SELECT * | {[DISTINCT] column / expression [alias ], …} FROM table WHERE condition(s); 조건(condition)은 컬럼 이름, 표현식, 상수, 비교 연산자로 구성된다. 비교 연산자 Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 다른 비교 연산자 논리 연산자 Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 ORDER BY 절 ASC: 오름차순 정렬 (Default) DESC: 내림차순 정렬 기본 정렬 순서는 오름차순이다. Null 값은 오른차순 정렬에는 마지막에, 내림차순 정렬에는 처음에 표시된다. SELECT expr FROM table [WHERE condition(s)] [ORDER BY { column, expr } [ASC|DESC]]; Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 Ex> SELECT empno, ename, sal*12 annsal FROM emp ORDER BY annsal; Ex> SELECT ename, deptno, sal FROM emp ORDER BY deptno, sal DESC; Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 3. 여러 테이블로 부터 여러 컬럼 표시 Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 조인(Join) 둘 이상의 테이블을 연결하여 데이터를 검색하는 방법 Equijoin (동등 조인, 내부 조인) 조건절 Equality Condition(=)에 의한 조인 Non-equijoin 테이블의 어떤 컬럼도 조인할 테이블의 컬럼에 일치하지 않을 때 사용 동등(=)이외의 연산자를 가짐 (BETWEEN AND, IS NULL, IS NOT NULL, IN, NOT IN) Ex> SELECT emp.ename, dept.dname FROM emp, dept WHERE emp.deptno = dept.deptno; Ex> SELECT emp.ename, dept.dname FROM emp, dept WHERE emp.sal BETWEEN 3000 AND 4000; Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 Self join Equijoin과 동일하지만 하나의 테이블에서 조인이 발생 같은 테이블에 대해 두 개의 별칭을 지정함으로써 사용 Outer join Equijoin을 사용하려면 두 개의 테이블에서 두 개의 컬럼에 공통된 값이 존재해야만 함 Outerjoin은 위의 조인 조건을 만족하지 못하는 행들을 보기 위해서 사용 조인 시킬 값이 없는 조인측에 “(+)”를 표시 Ex> SELECT a.ename, b.sal FROM emp a, emp b WHERE a.empno = b.empno; Ex> SELECT DISTINCT(a.deptno), b.deptno FROM emp a, dept b WHERE a.deptno(+) = b.deptno; Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 4. 데이터 제한과 정렬 Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 그룹 함수 문법 종류 SELECT FROM [WHERE [GROUP BY [ORDER BY [column,] group function(column) , … table condition ] column] column] ; 중복불가 중복허용,default Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 Example Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 HAVING 절 포함된 그룹 함수 SELECT FROM [WHERE [GROUP BY [HAVING [ORDER BY [column,] group function(column) , … table condition ] group_by_expression] group_condition] column] ; HAVING : Alias 사용불가 Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 5. 서브쿼리 Database & Internet Computing Laboratory, 2007

Single-Row Subqueries Database & Internet Computing Laboratory, 2007 서브 쿼리 문법 사용법 서브쿼리는 오직 GROUP BY절에서는 사용될 수 없다. SELECT FROM WHERE select_list table expr operator (SELECT select_list FROM table) ; Single-Row Subqueries Multi-Row Subqueries = > < IN > ANY , > ALL < ANY , < ALL Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 단일 데이터 서브 쿼리 Ex) SELECT FROM WHERE AND ename, job, sal emp job = (SELECT job FROM emp WHERE empno = 7499) Salary > (SELECT sal WHERE empno = 7369) ; SALESMAN 800 Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 복수 데이터 서브 쿼리 추가후 SELCET empno, ename, job, sal FROM emp WHERE sal < any (SELECT sal WHERE job = ‘SALESMAN’) AND job <> ‘SALESMAN’ ; 1600, 1250 SELCT empno, ename, job, sal FROM emp WHERE sal < all (SELECT sal FROM emp WHERE job = ‘SALESMAN’) AND job <> ‘SALESMAN’ ; 1600, 1250 Database & Internet Computing Laboratory, 2007

Database & Internet Computing Laboratory, 2007 서브 쿼리에서의 Null 값 SELECT ename From emp Where comm NOT IN (SELECT comm FROM emp WHERE empno = 7866); Where comm NOT IN WHERE empno = 7866 AND comm IS NOT NULL); 주의 : 서브 쿼리에 결과값에 NULL이 들어가면 메인 쿼리 에 대해 엉뚱한 결과 값이 나올 수 있다. --------------------------------------------------------------------------- 해결책 : IS NOT NULL 또는 NVL(manager_id, -1) Database & Internet Computing Laboratory, 2007