ORACLE 꼭 이 책의 내용들을 다 외울 정도로 공부하여 스스로의 지식으로 만들기 바랍 니다. 마치 작은 씨앗에서 큰 나무가 자라나는 것처럼 이 책 한 권은 작지만 이 책을 다 읽은 후에는 큰 나무가 되기를 바랍니다. 이 책은 SQL 책입니다. 그러나 SQL을 잘 작

Size: px
Start display at page:

Download "ORACLE 꼭 이 책의 내용들을 다 외울 정도로 공부하여 스스로의 지식으로 만들기 바랍 니다. 마치 작은 씨앗에서 큰 나무가 자라나는 것처럼 이 책 한 권은 작지만 이 책을 다 읽은 후에는 큰 나무가 되기를 바랍니다. 이 책은 SQL 책입니다. 그러나 SQL을 잘 작"

Transcription

1

2

3 머리말 안녕하세요. 저는 지난 10여 년 동안 SQL을 강의하고 지금도 실무에서 SQL을 많이 작성하 고 있습니다. 아마 저뿐만 아니라 많은 분들이 데이터베이스를 공부함에 있어 서 가장 기본적이고 중요한 시작 단계는 SQL을 배우는 단계라고 생각할 것입니 다. 그래서 시중에 SQL과 관련된 책들이 많이 나와 있습니다. 으로써 독자 스스로가 해당 함수나 문법들을 응용할 수 있도록 도와주고 있 습니다. C A 그냥 단순히 문법만 배우고 넘어가는 것이 아니라 다양한 예제들을 풀어 봄 F 1. 많은 예제를 사용하여 활용법을 익히게 하자! E 하는 초보자들을 대상으로 하여 아래와 같은 의도로 집필하였습니다. E 이 책은 SQL과 PL/SQL을 처음 시작하는, 즉 확실한 기초와 응용력을 키우기 원 무조건 이렇게 쓰세요! 가 아니라 원리를 설명함으로써 독자가 고민해서 더 R 좋은 SQL을 작성할 수 있고 더 수준 높은 공부를 스스로 할 수 있도록 도와 P 2. 자세한 원리를 설명하자! 주고 있습니다 g / 11g의 최신 함수들이나 특징들을 최대한 반영하자! 다른 SQL 책에서 거의 볼 수 없는 아주 유용한 SQL 내의 정규식 활용하기 등 과 같이 10g와 11g에서의 주요 신기능들이나 함수들을 최대한 반영하고 여 러 가지 다양한 예제를 통하여 학습할 수 있도록 배려하고 있습니다. 4. SQL 튜닝까지 고려하자! 성능을 무시한 SQL을 작성하는 것이 아니라 성능까지 고려한 방법들을 쉽게 풀어 설명하고 실습하고 있습니다. 기초 과정이라 어려운 SQL 튜닝 관련 내 용은 모두 담지 못했지만 이 책을 읽고 나면 다음 단계의 책을 보기에 한결 수월하도록 배려하였습니다. 3

4 ORACLE 꼭 이 책의 내용들을 다 외울 정도로 공부하여 스스로의 지식으로 만들기 바랍 니다. 마치 작은 씨앗에서 큰 나무가 자라나는 것처럼 이 책 한 권은 작지만 이 책을 다 읽은 후에는 큰 나무가 되기를 바랍니다. 이 책은 SQL 책입니다. 그러나 SQL을 잘 작성하기 위해서는 오라클 아키텍처나 어드민 관련 내용을 알아야 하므로 중요한 일부 내용을 언급했습니다. 하지만 지면 관계상 아키텍처나 어드민을 모두 언급할 수 없어서 이 책에 언급된 오라 클 아키텍처와 어드민 관련 내용과 OS와 네트워크에 대한 내용을 보다 자세하 게 담은 원고를 현재 별도 집필 중이며 2013년에 출간될 예정입니다. 이 책의 감사드립니다 E 픔과 노력과 희생이 있었습니다. P 이 책이 나오기까지 저뿐만 아니라 주위에 계신 많은 분들의 여러 가지 많은 아 R F A C E 특성상 아키텍처를 많이 언급하지 못한 부분 양해 부탁드립니다. 우선 이 책의 모든 내용을 직접 테스트하면서 공부한 아이티윌 오라클 수강생 여러분에게 진심으로 감사드립니다. 또한 여러 가지로 배려해 주고 도와준 아 이티윌의 조인형 사장님, 박승곤 원장님, 모든 직원에게도 감사드립니다. 함께 고민하고 좋은 말과 격려로 힘을 실어준 김영조 강사님께도 깊은 감사를 드립 니다. 현업에서 함께 혹은 다른 곳에서 일하면서 실시간으로 저에게 질문하고 함께 해결 방법을 고민했던 여러 엔지니어들에게도 감사드립니다. 허우 님, 박원범 님, 박상수 님, 김설희 님, 정연권 님, 이윤나 님 등 너무 많아서 일일이 다 열 거할 수 없지만 모든 분들께 많이 감사하고 있다는 점 꼭 전하고 싶습니다. 네이버 prodba 카페( 다음 ocp 카페 ( 여러 회원에게도 감사드립니다. 부족한 원고 4

5 를 받아주고 책으로 빛을 보게 해준 생능출판사 관계자 분들께도 진심으로 감 사드립니다. 고향에서 오늘도 저를 위해 기도하는 어머니 이남순 여사님과 형을 대신해서 고향에서 어머니를 모시고 있는 동생 서재수에게 사랑과 감사의 마음을 함께 전하고 싶습니다. 그리고 또 한 분의 소중한 어머니인 정명순 여사님과 닮고 싶 은 김종근 아버님께도 진심으로 감사드립니다. 두 분 덕분에 참 많은 것을 느끼 고 배우게 되었습니다. 그리고 오랜 시간 동안 삶에 대해 조언해 주고 힘내도록 격려해준 김현정 님께도 이 책의 지면을 빌어서 진심으로 사랑과 감사의 마음 을 꼭 전하고 싶습니다. 또 멋진 캐리커처를 선물해 준 김성훈 형님께도 진심으 F E R 서진수 P 2012년 9월 A C E 로 감사드립니다. 5

6 ORACLE 차례 er Chapt 00 실습을 시작하기 전에 14 er Chapt 01 SELECT 문장을 이용하여 원하는 데이터 가져오기 SELECT 데이터 조회하기 21 er Chapt 1. 문자 함수 SQL 문장에서 정규식 사용하기(10g부터 추가됨) g에서 추가된 정규식 함수 g REGEXP_SUBSTR 추가 기능(Sub Expression 사용하기) 숫자 함수 날짜 함수 형 변환 함수 97 O N T N 02 SQL 단일 행 함수 52 E T S 1. DESC 명령어 C 8. 일반 함수 103 er Chapt 03 SQL 복수 행 함수(그룹 함수) GROUP 함수의 종류 특정 조건으로 세부적인 그룹화 하기(GROUP BY 절 사용하기) 조건을 주고 검색하기(HAVING 절 사용하기) 자동으로 소계 / 합계를 구해주는 함수 다른 그룹핑 관련 함수들 살펴보기 그룹 함수 연습문제 그 외 주요 그룹 함수 138

7 er Chapt 04 JOIN Cartesian Product(카티션 곱) EQUI Join(등가 Join) Non-Equi Join(비등가 Join) OUTER Join(아우터 조인) SELF Join JOIN 원리 168 er Chapt 2. Sub Query의 종류 Scalar Sub Query(스칼라 서브쿼리) 187 T 178 N 1. Sub Query란? S 05 Sub Query(서브쿼리) 178 er UPDATE DELETE MERGE 204 O 5. TRANSACTION 관리하기 DML ERROR LOGGING 하기 208 N 1. INSERT C 06 DML 192 T E Chapt er Chapt 07 DDL 문장과 딕셔너리 CREATE 명령 ALTER 명령 TRUNCATE 명령 DROP 명령 DELETE, TRUNCATE, DROP 명령어의 차이점 데이터 딕셔너리(Dictionary) 275 7

8 ORACLE er Chapt 08 제약조건 제약조건의 종류 각 제약조건의 설정 방법 제약조건 관리하기 288 er Chapt 인덱스의 생성 원리 인덱스 구조와 작동 원리(B-TREE 인덱스 기준) 인덱스의 종류 인덱스의 주의사항 317 T 6. 인덱스 관리 방법 인덱스 활용 예제 Invisible Index(인비저블 인덱스) - 11g New Feature 329 er Chapt 10 VIEW(View) 단순 View(Simple View) 336 O 2. 복합 View(Complex View) 338 C N T E S 1. 인덱스란 무엇인가? N 09 INDEX(인덱스) INLINE View(인라인 뷰) Materialized View(MVIEW) 341 er Chapt 11 SEQUENCE와 SYNONYM(동의어) SEQUENCE(시퀀스) SYNONYM(동의어) 358 er Chapt 12 계층형 쿼리(Hierachical Query) 364 8

9 er Chapt 13 사용자 관리 User와 Schema(스키마) 알아보기 PROFILE 관리하기 PRIVILEGE(권한) 관리하기 Role(롤) 관리하기 384 er Chapt PL/SQL BLOCK 기본 구성 PL/SQL 블록 작성시 기본 규칙과 권장 사항 PL/SQL 문 내에서의 SQL 문장 사용하기 PL/SQL에서의 렉시칼 PL/SQL에서의 블록 구문 작성 지침 중첩된 PL/SQL 블록 작성하기 PL/SQL에서의 연산자 사용하기 406 T 3. PL/SQL 기본 구조 N 388 E 2. PL/SQL의 런타임 구조 T 388 O N 1. PL/SQL이란? S 14 ORACLE PL/SQL 시작하기 388 er Chapt C 15 PL/SQL 변수 개요 주요 변수의 종류 비 PL/SQL 변수(바인드 변수) 430 er Chapt 16 PL/SQL 제어문 조건문(IF 문) CASE 문과 CASE 식 반복문 442 9

10 ORACLE er Chapt 17 PL/SQL Cursor(커서) SQL 커서란? 묵시적 커서(Implicit Cursor) 명시적 커서(Explicit Cursor) 명시적 커서(Explicit Cursor) 처리 단계 Cursor FOR Loop 문 활용하기 파라미터 Explicit Cursor Explicit Cursor와 FOR UPDATE 문장 463 er Chapt 1. PL/SQL 예외란? PL/SQL 블록 내의 예외처리부 472 N T S 18 ORACLE EXCEPTION(예외처리) ORACLE SUBPROGRAM PROCEDURE(프로시저) FUNCTION(내장 함수) ORACLE PACKAGE(패키지) TRIGGER(트리거) 512 C O N T E er Chapt 부록 연습문제, 퀴즈 정답 찾아보기

11 Welcome to SQL World! SQL 세계로 온 것을 환영합니다. 이 책의 내용을 여행하기 전에 몇 가지 사항을 안내하겠습니다. 1. 이 책은 눈으로만 보는 책이 아니라 눈으로 본 후 손과 머리와 마음으로 이해해야 하는 책입니 다. 리눅스(OEL 5 버전)에 오라클 11g R2 버전을 설치하는 메뉴얼은 분량이 너무 많아서 이 책 에 포함시키지 않고 생능출판사 홈페이지( 제공하니 다운로드 받아서 실습하기 바랍니다. 은 언어입니다. 여러분이 원하는 것을 오라클에게 해 달라고 말하는 것입니다. 이 책 안에 2. SQL 있는 SQL 문제나 예제들은 저자가 표현한 말입니다. 즉 여러분은 저자가 이 책 안에 적은 SQL 을 외우는 것이 아니라 이 SQL들을 참고하여 새로운 다양한 표현 방법을 만들어야 한다는 것입 니다. 이 방법 저 방법 등으로 다양하게 여러분의 생각을 쿼리로 만들어보는 것이 중요합니다. 말을 빨리 한다고 잘하는 것은 아닙니다. 쿼리도 빨리 짜는 것이 중요한 것이 아닙니다. 또 어 려운 말을 많이 한다고 잘하는 것 또한 아닙니다. 어려운 함수나 기능을 많이 써야 하는 것도 아니라는 뜻입니다. 말을 잘 한다는 것은 상대방이 정확하게 잘 알아들어야 하며 표현도 적절 해야 한다는 의미입니다. 아무쪼록 이런 당연하지만 아주 중요한 주의사항을 꼭 기억하고 이 책을 여행할 것을 부탁합니다. 이 책은 컴퓨터 중에서 어려운 데이터베이스의 SQL 책입니다. 그러나 단지 SQL만 배우기 위한 책이 되기보다는 인생 전체에 대한 쿼리(질문)를 던질 수 있는 책이 되었으면 하는 저자의 바램 으로 거의 모든 장의 마지막에 짧은 생각하는 글 을 담고 있습니다. 어쩌면 SQL 책에 이게 무슨 쓸데 없는 내용이지? 라고 생각하는 사람도 있을 것입니다. 그런 사실을 알기에 이 내용을 넣을 지 말지 고민을 많이 했습니다. 그러나 만약 단 한 사람에게라도 도움이 된다면 충분히 가치가 있을 것 같아서 넣기로 했습니다. 각 장을 공부한 후 머리도 식힐 겸 천천히 읽어 보기 바랍니다. 여러분이 이 책을 선택하는 이유는 당연히 데이터베이스의 SQL을 배우기 위해서일 것입니다. 이 책은 그 목표에 아주 근접하고 훌륭하게 여러분을 인도해 줄 것입니다. 그럼 이제부터 본격적으 로 SQL World로 여행을 떠나겠습니다. Come on! 11

12

13 pter Cha 00 실습을 시작하기 전에

14 Chapter 00 실습을시작하기전에 이책의거의대부분의실습은 oracle 설치시에기본적으로생성되는연습용계정인 scott 계정을사용하며다음과같이접속하여실습하면됩니다. 이책은리눅스 (OEL 5 버전 ) 에 Oracle 11g R2 버전으로구성된실습환경입니다. 리눅스에오라클 11g를설치하는매뉴얼과실습용데이터들은분량관계로이책에포함시키지않고생능출판사홈페이지 ( 에서제공하니다운로드받아서사용하기바랍니다. 1. DB 가시작되어있는경우연습용계정인 scott 계정으로접속합니다. $ sqlplus scott/tiger ($ 는입력하지말고대소문자구분합니다.) 2. DB가종료되어있는경우 $ sqlplus / as sysdba SQL*Plus: Release Production on Mon Nov 28 15:44: Copyright (c) 1982, 2010, Oracle. All rights reserved. Connected to an idle instance. 이런메시지가나오면 DB가종료되어있다는의미입니다. SQL> startup DB를시작시키는명령어입니다. ORACLE instance started. ( 중간생략 ) Database opend. SQL> conn scott/tiger 연습용계정으로접속합니다. Connected. 14

15 00 chapter 실습을시작하기전에 현재접속중인사용자를확인하는방법입니다. SQL> show user ; USER is "SCOTT" 현재접속한계정이름으로 SQL 프롬프트부분을바꾸면더편하게작업할수있습니다. SQL> set sqlprompt "_USER>" SCOTT> 접속할때마다이명령어를수행하기귀찮으면 /home/oracle/login.sql을만든후그파일안에 set sqlprompt "_USER>" 를등록해두면 sqlplus가실행할때마다자동으로반영됩니다. 이책에있는실습을하려면제공된자료중에서 test_data.sql 스크립트가 scott 계정에서수행되어있어야하며방법은아래와같습니다. 이파일을리눅스의저디렉터리로보낸후실행하세요. 리눅스와윈도의파일을서로주고받는방법은 winscp를이용하면되고이프로그램을사용해서파일을넘기는방법은홈페이지에서제공하는 OEL 5 기반에 Oracle 11g R2 버전을설치하는매뉴얼에자세하게나와있습니다. 여기까지하면이책을실습할수있는모든준비가끝납니다. 15

16 ORACLE 오라클 SQL 과 PL/SQL SELECT 문장을배우기전에꼭필요한몇가지용어부터정리하겠습니다. 행 row 열 column 일반용어 이터 이스용어 위그림에서왼쪽은우리가일반적으로사용하는용어들입니다. 자료를쉽고명료하게관리하기위해 표 라는것을만들어서사용하게됩니다. 그리고 표 에서가로를 행 이라고부르고세로를 열 이라고표현합니다. 데이터베이스란대량의데이터를보다잘관리하고운영하기위해사용하는프로그램입니다. 그래서데이터베이스내부에도대량의데이터를저장하기위해 테이블 (Table) 이라는표와유사한형태의객체를만들어서데이터를저장해놓고사용하게됩니다. 이테이블에서가로를 로우 (row) 라고부르고세로를 칼럼 (column) 이라고부릅니다. 데이터를가져오는방법은두가지로언급할수있습니다. 한가지는원하는특정칼럼만가져오는방법 ( 이방법을 Projection이라고도합니다 ) 이있고또한가지는 row를기준으로가져오는방법 ( 이방법을 Selection이라고도합니다 ) 이있습니다. 아래그림으로구분해보겠습니다. profno name id position pay hiredate bonus deptno 1001 조인형 captain 정교수 박승곤 sweety 조교수 송도권 powerman 전임강사 양선희 lamb1 전임강사 김영조 number1 조교수 주승재 bluedragon 정교수

17 00 chapter 실습을시작하기전에 3001 김도형 angel1004 정교수 나한열 naone10 조교수 김현정 only-u 전임강사 심슨 simson 정교수 최슬기 gogogo 조교수 박원범 mypride 조교수 차범철 ironman 전임강사 바비 bobby 정교수 전민 napeople 전임강사 허은 silver-her 조교수 위테이블은앞으로실습에서사용할테이블중하나인 professor 테이블입니다. 위표에서세로방향으로원하는칼럼만조회하는것을 Projection이라고하고, 가로방향으로원하는로우만조회하는것을 Selection이라고표현합니다. 17

18

19 pter Cha 01 SELECT 문장을 이용하여 원하는 데이터 가져오기 1. DESC 명령어 2. SELECT - 데이터 조회하기

20 Chapter 01 SELECT 문장을이용하여원하는데이터가져오기 우리가원하는데이터를조회할때해당테이블에어떤칼럼이있는지를먼저확인한후원하는칼럼만조회하는경우가많기때문에해당테이블에어떤칼럼이있는지부터확인해보겠습니다. 1. DESC 명령어 DESC 명령어는특정테이블에어떤칼럼이있는지조회하는명령어입니다. Describe의약자입니다. 아래와같이사용합니다. SCOTT>DESC emp ; Name Null? Type EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NUMBER(2) 20

21 01 chapter select 문장을이용하여원하는데이터가져오기 앞의결과를테이블로만들면아래와같습니다. EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO 앞의명령어로칼럼내역을조회한후원하는데이터를 SELECT 하면됩니다. 2. SELECT 데이터조회하기 문법 : SELECT [ 칼럼명또는표현식 ] FROM [ 테이블명, 뷰명 ] ; 연습용테이블인 emp 테이블에서데이터를조회하겠습니다. (1) 모든칼럼조회하기 SCOTT>SELECT * FROM emp ; 이렇게한줄에써도되고다음과같이여러줄에써도됩니다. SELECT 뒤에는원래칼럼이름이오는곳이지만모든칼럼을다조회하고싶은 경우에는위와같이칼럼명대신에 * 를사용해도됩니다. SCOTT>SELECT * 2 FROM emp ; 21

22 ORACLE 오라클 SQL 과 PL/SQL 단, 키워드인 SELECT, FROM 등은줄을바꾸면아래화면처럼에러가발생합 니다. SCOTT>SELECT * 2 FR 3 OM emp; FR * ERROR at line 2: ORA-00923: FROM keyword not found where expected SQL문은대소문자를구분하지않고입력해도수행되지만원래는구분합니다. 다음실습에서는키워드부분은대문자로입력하겠습니다. 또한 SQL은한줄에전부입력해도되고여러줄에입력해도되지만 SQL 키워드는분리해서는안됩니다. 그리고문장의마지막부분에는반드시 ;( 세미콜론 ) 을입력해주어야합니다. SQL 키워드는오라클에서미리정해놓은단어로 SELECT, FROM, WHERE 등을의미합니다. 참고 : 칼럼길이조정하는방법 결과가하나의화면에조회하기힘들게나오는경우는칼럼의길이를조절해서보면편합니다. 데이터가숫자일경우 형식 : COL empno FOR 9999 의미 : empno라는칼럼의길이를숫자 4자리까지들어가게설정하시오. 데이터가문자일경우 형식 : COL ename FOR a8 의미 : ename이란칼럼의길이를 8바이트까지들어가게설정하시오. 사용예 SCOTT>SET LINE 200 ; SCOTT>COL empno FOR 9999 empno 칼럼이숫자라서숫자 4자리로설정함 SCOTT>COL ename FOR a6 ename이문자라서 6바이트로설정함 22

23 01 chapter select 문장을이용하여원하는데이터가져오기 SCOTT>COL job FOR a10 SCOTT>COL mgr FOR 9999 SCOTT>COL sal FOR SCOTT>SET PAGESIZE 50 하나의화면에최대 50줄까지나오게설정함 SCOTT>SELECT * FROM emp; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO SMITH CLERK DEC ALLEN SALESMAN FEB WARD SALESMAN FEB ( 중략 ) 7876 ADAMS CLERK MAY JAMES CLERK DEC FORD ANALYST DEC MILLER CLERK JAN rows selected. (2) 원하는칼럼만조회하기 SCOTT>SELECT empno, ename 2 FROM emp ; EMPNO ENAME SMITH 7499 ALLEN 7521 WARD 7566 JONES 7654 MARTIN 7698 BLAKE ( 이하생략 ) 14 rows selected. 23

24 ORACLE 오라클 SQL 과 PL/SQL 앞의예처럼 SELECT 뒤에원하는칼럼이름만넣고조회하면됩니다. 조회하기 를원하는칼럼이여러개일경우,( 콤마 ) 로구분하고이름을여러개적어주면됩니다. (3) 표현식을사용하여출력하기표현식 (Expression) 이란칼럼이름이외에출력하기를원하는내용을의미하며 SELECT 구문뒤에 '( 홑따옴표 ) 로묶어서사용하면됩니다. 아래의예를보겠습니다. SCOTT>SELECT name, ' 교수님 ~ 배고파요 ~' 2 FROM professor ; NAME ' 교수님 ~ 배고파요 ~' 조인형 교수님 ~ 배고파요 ~ 박승곤 교수님 ~ 배고파요 ~ 주승재 교수님 ~ 배고파요 ~ ( 이하생략 ) 위 SELECT 절에서 교수님 ~ 배고파요 ~ 부분을 표현식 이라고도하고 리터럴 (literal) 상수 ( 문자 ) 라고부르기도합니다. (4) 칼럼별칭사용하여출력하기 별칭사용전화면 SCOTT>SELECT studno, name 2 FROM student ; STUDNO NAME 서진수 9412 서재수 9413 이미경 24

25 01 chapter select 문장을이용하여원하는데이터가져오기 9414 김재수 ( 이하생략 ) 앞그림을보면 SELECT 뒤에적은칼럼이름이대문자로바뀌어서출력되는것 을볼수있습니다. 위예에서 studno, name 부분을다른이름으로변경해서 출력해보겠습니다. 별칭사용후화면 SCOTT>SELECT studno " 학번 ", name AS " 이름 ", profno 지도교수번호 2 FROM student ; 학번 이름 지도교수번호 서진수 서재수 이미경 3002 ( 이하생략 ) 위그림에서처럼출력결과화면에영어로나오던것이한글로보이게됩니다. 이것은원래테이블의칼럼이름이변경된것이아니라출력될때임시로저렇게바꾸어서보여주는것입니다. 이기능을칼럼별칭 (Column Alias) 이라고부릅니다. 이기능을쓰는방법은두가지인데, 한가지는칼럼이름뒤에공백을주고별명을쓰는것이고또한가지는칼럼이름뒤에 as라는키워드를사용한후별명을주는것입니다. 기능상차이는없으므로편한것을사용하면됩니다. 또한별명을줄때반드시 "( 쌍따옴표 ) 로감싸야하는경우도있는데이것은별명에공백이나특수문자, 대소문자구분이필요할경우에는반드시별명부분을 " 별명 " 과같은형태로써야합니다. 25

26 ORACLE 오라클 SQL 과 PL/SQL Alias 연습문제 1 emp 테이블을사용하여 empno 를사원번호, ename 을사원명, job 을직업으로별 명을설정하여출력하세요. Alias 연습문제 2 dept 테이블을사용하여 deptno 를부서 #, dname 을부서명, loc 를위치로별명을 설정하여출력하세요. (5) DISTINCT - 중복된값을제거하고출력하기데이터를조회하다보면중복된데이터가많이나오는경우가종종있는데경우에따라서는중복된데이터를빼고출력해야할경우가있습니다. 이럴때는 DISTINCT 키워드를사용하면됩니다. 아래의예로살펴보겠습니다. DIstINCt 사용전 DIstINCt 사용 앞의그림에서 DISTINCT 키워드를사용하지않았던왼쪽화면은 20건의로우가조회되지만 DISTINCT 키워드를사용한오른쪽화면에서는중복된데이터를모두제거하고 6건의로우만조회되는것을알수있습니다. DISTINCT 키워드는주의해서사용해야합니다. 다음예제로살펴보겠습니다. 26

27 01 chapter select 문장을이용하여원하는데이터가져오기 DIstINCt 사용안함 DIstINCt 사용함 두 럼 DIstINCt 사용함 2 1 위 1번그림은 DISTINCT를사용하지않아서총 14건의로우가조회되었습니다. 그리고 2번그림은 deptno 칼럼에만 DISTINCT를사용하여 3건의로우가조회되었습니다. 주의사항은 3번그림인데 deptno 칼럼과 job 칼럼을조회하는데 deptno 칼럼앞에만 DISTINCT 키워드가있습니다. 그러나결과를보면 job 칼럼까지 DISTINCT 키워드가적용된것을알수있습니다. 즉 DISTINCT 키워드는 1개의칼럼에만적어도모든칼럼에적용된다는것을알수있으며, 이로인해뜻하지않게성능저하가발생할수있으므로주의해서사용하기바랍니다. 참고로 oracle 9i 버전까지는 DISTINCT 키워드를만나면정렬을수행해서심각한속도저하가발생했으나, oracle 10g 버전부터는 HASH 알고리즘을사용하는방식으로변경되어서성능이많이향상되었습니다 ( 다음그림참조 : 이그림은실행계획을캡처한화면입니다 ). 27

28 ORACLE 오라클 SQL 과 PL/SQL DISTINCT 키워드는반드시 SELECT 키워드다음에와야하며그렇지않을경 우아래와같이에러가발생합니다. SCOTT>SELECT deptno, DISTINCT job FROM emp ; SELECT deptno, DISTINCT job * ERROR at line 1: ORA-00936: missing expression (6) 연결 ( 합성 ) 연산자 (Concatenation) 로칼럼을붙여서출력하기데이터를조회하다보면서로다른칼럼을마치하나의칼럼인것처럼연결해서출력해야할경우가종종있습니다. 예를들어, 회원가입을받을때성과이름을다른칼럼으로입력받았지만출력할때는한꺼번에출력하는경우등입니다. 이때아주유용하게사용할수있는연산자가지금부터살펴볼연결연산 28

29 01 chapter select 문장을이용하여원하는데이터가져오기 자입니다. 연결연산자는바기호를두번 ( ) 사용하면됩니다. 연결연산자미사용 연결연산자사용 SCOTT>SELECT name, position 2 FROM professor; NAME POSITION rows selected SCOTT>SELECT name position 2 FROM professor; NAME POSITION rows selected 위그림에서왼쪽화면은연결연산자를사용하지않고출력한결과이고오른쪽화면은연결연산자를사용하여두개의칼럼을마치하나의칼럼인것처럼합쳐서출력한화면입니다. 오른쪽화면의 SELECT 문장을보면 표시가사용된것을알수있습니다. 즉연결연산자가하는일은 기호를기준으로왼쪽과오른쪽칼럼을합쳐서하나의칼럼처럼화면에출력해주는것입니다. 연결연산자는하나만사용할수도있고여러개를함께사용할수도있습니다. 그리고연결연산자와리터럴문자를함께많이사용합니다. 다음화면을살펴보겠습니다. 29

30 ORACLE 오라클 SQL 과 PL/SQL SCOTT>SELECT name ' 님은 ' position ' 입니다 ' 2 FROM professor ; NAME ' 님은 ' POSITION ' 입니다 ' 조인형님은정교수입니다박승곤님은조교수입니다송도권님은전임강사입니다양선희님은전임강사입니다김영조님은조교수입니다주승재님은정교수입니다김도형님은정교수입니다나한열님은조교수입니다김현정님은전임강사입니다심슨님은정교수입니다 ( 이하생략 ) 위그림에서원래의칼럼은 name과 position뿐이지만그사이에리터럴문자를사용하여함께출력하였습니다. 리터럴문자부분에원하는글자나기호를넣어서원하는대로출력할수있습니다. 연결연산자연습문제 1 학생테이블 (student) 을사용하여모든학생들이 ' 서진수의키는 180 cm, 몸무게는 55 kg 입니다 ' 와같은형식으로출력되도록리터럴문자를추가하고, 칼럼이름은 " 학생의키와몸무게 " 라는별명으로출력하세요. < 결과화면 > 30

31 01 chapter select 문장을이용하여원하는데이터가져오기 연결연산자연습문제 2 홍길동 ( 교수 ), 홍길동 ' 교수 ' 이렇게나오도록출력하세요. < 결과화면 > (7) 산술연산자사용하기 산술연산자는우리가알고있는 +, -, x, / 를의미하며 SQL 에서도해당연산 자를사용하여조회할수있습니다. 원래이런칼럼은없지만오라클이자동으로계산해서결과를보여줍니다. 산술연산자를사용할때주의사항은기존에알고있는내용과동일하게연산자의우선순위입니다. 예를들어, 더하기와곱하기가같이나오면곱하기가먼저수행되고더하기가나중에수행된다는것입니다. 이런우선순위를조절하려 31

32 ORACLE 오라클 SQL 과 PL/SQL 면괄호 ( ) 을사용하면됩니다. 아래의화면을보겠습니다. (8) WHERE 절을활용하여원하는조건만조회하기 데이터를조회하다보면원하는데이터만골라서조회할경우가많이있습니다. 그때는 WHERE라는키워드를사용하여원하는조건을알려주면됩니다. 문법 SELECT [ Column or Expression ] FROM [ Table or View ] WHERE 원하는조건 ; 위문법에서보듯이 WHERE 절은반드시 FROM 절아래에와야만합니다. 다음의여러가지예제를통해서 WHERE 절의사용방법을익히도록하겠습니다. 예제 1 emp 테이블에서 10 번부서에근무하는사원의이름과급여와부서번호를출력하 세요. 32

33 01 chapter select 문장을이용하여원하는데이터가져오기 예제 2 Emp 테이블에서급여 (sal) 가 4000 보다큰사람의이름과급여를출력하세요. 예제 3 Emp 테이블에서이름이 SCOTT 인사람의이름과사원번호, 급여를출력하세요. 위예제 3번에서중요한부분이있습니다. WHERE 절에조건으로주어지는것이숫자일경우는그냥써도조회가되지만문자나날짜를조회할경우에는반드시 ' 조건 ' 처럼홑따옴표로둘러싸야한다는것입니다. 특히문자의경우는대소문자를구분한다는점꼭기억해야합니다. 대소문자를구분하는예를보겠습니다. 33

34 ORACLE 오라클 SQL 과 PL/SQL 위그림처럼분명히 ename 이 scott 이있으나 DB 에저장될때대문자로저장되 었기때문에 WHERE 절에소문자로조건을주면조회가되지않습니다. 이번에는날짜로조회하겠습니다. 날짜부분을홑따옴표로묶지않아서에러가발생합니다. 위그림에서는 WHERE 절에서날짜부분을홑따옴표로묶어서검색했습니다. 34

35 01 chapter select 문장을이용하여원하는데이터가져오기 위그림에서는날짜부분을소문자로썼는데도이상없이조회됨을알수있습니다. 검색조건을쓸때숫자이외에는꼭홑따옴표를쓰고대소문자를구분한다는것기억하세요. (9) 다양한연산자를활용하는방법 연산자종류 설명 = 같은조건을검색!=, <> 같지않은조건을검색 > 큰조건을검색 >= 크거나같은조건을검색 < 작은조건을검색 <= 작거나같은조건을검색 BETWEEN a AND b IN(a,b,c) Like Is Null / Is Not Null A AND B A OR B NOT A A와 B 사이에있는범위값을모두검색 A이거나 B이거나 C인조건을검색특정패턴을가지고있는조건을검색 Null 값을검색 / Null이아닌값을검색 A 조건과 B 조건을모두만족하는값만검색 A 조건이나 B 조건중한가지라도만족하는값을검색 A가아닌모든조건을검색 위에서나온연산자들을어떻게활용하느냐가중요합니다. 다음의여러가지예제들을통해연산자를활용하는방법을배우겠습니다. 35

36 ORACLE 오라클 SQL 과 PL/SQL 예제 1 비교연산자를사용하여 Student 테이블에서키 (height) 가 180cm 보다크거나같 은사람을출력하세요. 주의사항은 >= 에서 > 과 = 사이에공백이들어가면안된다는것과 > 과 = 의순서가바뀌어도안된다는것입니다. 예제 2 Between 연산자를사용하여 Student 테이블에서몸무게 (weight) 가 60kg~80kg 인사람의이름과체중을출력하세요. 주의 BETWEEN 연산자는주의사항이있습니다. 1. 두개의값중에작은값이먼저오고큰값이나중에와야합니다. 2. 두개의값을다포함하여출력됩니다. BETWEEN 연산자대신에위쿼리를다음과같이검색해도됩니다. 36

37 01 chapter select 문장을이용하여원하는데이터가져오기 위두가지쿼리는결과는같으나 BETWEEN 연산자를사용하는것이쿼리가훨씬더간결해진다는장점이있습니다. 그러나성능측면에서보면 BETWEEN 연산자를사용하는것보다비교연산자를사용하여쿼리를작성하는것을권장합니다. 왜냐하면 BETWEEN 연산자를사용하여쿼리를작성하더라도오라클내부적으로비교연산자로변경해서작업을수행하기때문입니다. 예제 3 IN 연산자를사용하여 Student 테이블에서 101 번학과학생과 201 번학과학생들 을모두출력하세요. 이 SQL 의 WHERE 절부분을 " WHERE deptno1 = 101 OR deptno1 = 201 " 로사용할수도있지만쿼리가너무길어져서간편하게 IN 연산자를사용하는것입니다. 37

38 ORACLE 오라클 SQL 과 PL/SQL 예제 4 Like 연산자를사용하여 student 테이블에서성이 " 김 " 씨인사람을조회하세요. 위 Like 예제에서 Like 와함께사용되는기호가 % 와 _ 두가지가있으며의 미는아래와같습니다. %: 글자수제한없고어떤글자가와도상관없습니다. _ (Underscore): 글자수는한글자만올수있고어떤글자가와도상관없습니다. 예를들어, 전체이름글자수가 3글자인데성은 김 이고마지막글자가 호 인사람을찾는다면 WHERE name LIKE ' 김 _ 호 ' ; 이렇게검색하면됩니다. 만약검색하고자하는문자에 % 나 _ 가있을경우에는아래와같이 Escape 문자로표시를해주어야합니다. SQL> SELECT employee_id, last_name, job_id 2 FROM employees 3 WHERE job_id LIKE '%SAW_%' ESCAPE 'W' ; 1 IS NULL / IS NOT NULL 연산자를활용하기 Null이란오라클의데이터종류중한가지로어떤값인지모른다는의미입니다. 예를들어, A라는사람의나이가 30살이고 B의나이가얼마인지모른다면 B의나이를 Null이다라고말하는것입니다. 이런특징때문에 Null에는어떤연산을수행해도결과값은늘 Null이나오게됩니다. 앞에서예를든경우처럼 B의나이가얼마인지모르는데 10살을더해도몇살인지모르는건마찬가지라 38

39 01 chapter select 문장을이용하여원하는데이터가져오기 는뜻입니다. 또 A가 30살이고 B의나이가 Null이라면누가더나이가많은지비교할수도없다는뜻이됩니다. 그래서 Null에는어떤연산을해도결과는 Null이나오게됩니다. 이런특징때문에 Null 값은 = 연산을사용할수없습니다. 이부분이 Null입니다. Null 값을 = 조건을주고검색하면 no rows selected. 라고나오면서값을조회하지못합니다. 그이유는아래와같습니다. 예를들어, bonus가 100인사람을검색하고싶으면 bonus = 100이라고합니다. 이말은 bonus의값이 100과같다는뜻이니까조금표현을바꾸면 100 = 100과같은조건을만족하는데이터를모두조회하라는뜻이됩니다. 그렇다면 bonus가 null인사람을조회하기위해 bonus = null이라고쓴다면이말은 Null = Null이라는의미이며이조건을만족하는데이터를전부조회하라는뜻이됩니다. 언뜻보면맞는표현같지만 A가몇살인지모르고 (Null) B도몇살인지모를때 (Null) A와 B가나이가같다는건알수없는것입니다. 그래서 Null 값을가진데이터가있다하더라고검색할수없게됩니다. 이런이유때문에 Null 값을찾고싶을땐 = 연산자를사용할수없어서별도의연산자가만들어졌고 Null 값을찾고싶을때는 IS NULL, Null 값이아닌 39

40 ORACLE 오라클 SQL 과 PL/SQL 모든값을찾고싶을때는 IS NOT NULL 을사용하게됩니다. 실무에서 Null 값때문에의도하지않은오류가발생하는경우가많기때문에 Null 값의특징을잘알고있어야합니다. 2 검색조건이두개이상일경우조회하기 예제 1 student 테이블을사용하여 4 학년중에서키가 170cm 이상인사람의이름과학년 과키를조회하세요. 두가지조건을모두만족하는결과를검색할때는 AND 연산자를사용하여조건을적으면됩니다. 40

41 01 chapter select 문장을이용하여원하는데이터가져오기 예제 2 student 테이블을사용하여 1 학년이거나또는몸무게가 80kg 이상인학생들의이 름과키와학년과몸무게를출력하세요. 두가지조건중한가지만만족하는행을검색하고싶으면 OR 연산자를사용하면됩니다. 예제 3 Student 테이블을사용하여 2 학년중에서키가 180cm 보다크면서몸무게가 70kg 보다큰학생들의이름과학년과키와몸무게를출력하세요. 조건이여러개이고모두만족하는경우 AND 를여러번쓰면됩니다. 41

42 ORACLE 오라클 SQL 과 PL/SQL 예제 4 Student 테이블을사용하여 2 학년학생중에서키가 180cm 보다크거나또는몸무 게가 70kg 보다큰학생들의이름과학년과키와몸무게를출력하세요. AND 와 OR 조건이동시에나올경우에는우선순위를조심해야합니다. 위예제 4에서는연산자를특히주의해야합니다. 만약괄호부분을빼버리면의도하지않는결과가아래와같이나오게됩니다. 위결과는 2학년중에서키가 180cm보다큰학생과학년에상관없이몸무게가 70kg보다많은학생들의명단을출력하는결과가됩니다. 항상검색조건이여러가지일경우우선순위를주의하면서쿼리를작성하기바랍니다. 42

43 01 chapter select 문장을이용하여원하는데이터가져오기 일반연산자퀴즈 Professor 테이블에서교수들의이름을조회하여성부분에 ' ㅈ ' 이포함된사람의 명단을아래와같이출력하세요. 1 1 번화면이 professor 테이블에서이름을조회한화면입니다. ORDER BY 라는구문은정렬을해서보여달라는뜻인데뒤에살펴봅니다. 2 번화면이성부분에 ' ㅈ ' 이들어간사람만출력한화면입니다. 2 IN (' 전민 ',' 조인형 ',' 주승재 ') 이렇게하진않을거죠? 이런거였으면퀴즈도안냈을겁니다. (10) ORDER BY 절을사용하여출력결과정렬하기보통데이터가많을경우에는정렬을해서보는경우가많습니다. SQL에서는 ORDER BY라는절을사용하여정렬을하게됩니다. 정렬은오름차순과내림차순두가지의경우가있으며기본값은오름차순이며아래와같습니다. 한글 : 가, 나, 다, 라 영어 : A, B, C, D 숫자 : 1, 2, 3, 4 날짜 : 예전날짜부터시작해서최근날짜로정렬됩니다. 위에서주의할부분은날짜부분입니다. 날짜는최근날짜가더크다는것꼭기억하기바랍니다. ORDER BY 절은 SQL 문장의가장마지막에적어야합니다. 그리고오름차순은 ASC, 내림차순은 DESC로표시해야하며기본값이오름차순이기때문에정렬방식을생략하게되면자동으로 ASC 방식이적용됩니다. 다음의예로여러가지경우를확인하겠습니다. 43

44 ORACLE 오라클 SQL 과 PL/SQL 예제 1 student 테이블을사용하여 1 학년학생의이름과키를출력하세요. 단, 키가작은 순서대로출력하세요. 1 2 위화면에서왼쪽 1번화면은정렬을하지않고출력한것이고오른쪽 2번화면은오름차순으로정렬한화면입니다. 오른쪽화면에서 ORDER BY height ASC ; 이렇게해야하지만 ASC를생략하면자동으로 ASC로인식하므로위와같은결과가나온것입니다. 예제 2 Student 테이블을사용하여 1 학년학생의이름과키와몸무게를출력하세요. 단, 키는작은사람부터출력하고몸무게는많은사람부터출력하세요. 위의예에서두개의칼럼 ( 키, 몸무게 ) 에동시에정렬이수행되면우선앞에칼럼기준으로먼저정렬을한후뒤칼럼의정렬을수행하게됩니다. 즉앞에칼 44

45 01 chapter select 문장을이용하여원하는데이터가져오기 럼에같은키가있을경우위에칼럼에서몸무게가무거운사람이먼저나온다는뜻입니다. 예제 3 Student 테이블을사용하여 1 학년학생의이름과생일과키와몸무게를출력하세 요. 단, 생일이빠른사람순서대로정렬하세요. 위의예에서 ORDER BY 절에칼럼이름이아닌숫자 2가나왔습니다. 이는 SELECT 절에서 2번째칼럼인 birthday 칼럼으로정렬하라는의미입니다. 칼럼이름이최대 30bytes까지가능하기때문에긴칼럼이름을사용했을경우아주유용한방법입니다. 예제 4 칼럼의별명을사용한정렬 Student 테이블을사용하여 1 학년학생의이름과키를출력하세요. 단, 이름을오 름차순으로정렬하세요. 45

46 ORACLE 오라클 SQL 과 PL/SQL 앞예제와같이칼럼의별명을사용하여정렬하는것도가능합니다. 지금까지데이터를보기좋게출력하기위해서정렬을하는방법을살펴보았습니다. 그러나 ORDER BY 구문은 SQL에서정말최대한피해야하는명령어중한가지입니다. 정렬해야하는데이터의양이적을경우는크게상관없지만데이터가많을경우에정렬을한다는것은 DBMS에게큰부담을주는명령어이기때문입니다. 그렇다고해서정렬을하지않는다면데이터를보기가어렵기에 ORDER BY 절을쓰지않고정렬을하는기술들을습득해야합니다. 주로인덱스를활용해서 ORDER BY 구절을사용하지않고정렬을하게됩니다. 보다자세한사항은이책의인덱스부분을참고하기바랍니다. (11) 집합연산자 (Set Operator) 집합이라고하는것은여러건의데이터가모여있다는뜻입니다. 지금까지살펴본산술연산자들은하나의데이터들끼리연산을하는것이었으나지금부터살펴볼집합연산자는여러건의데이터들 ( 집합 ) 을연산하는것입니다. select 1 a B C 집합 1 select 2 C D e = 집합 2 결과 a B C D e 결과 집합연산자는 4 가지종류가있으며각각하는일은아래와같습니다. 연산자종류 UNION UNION ALL INTERSECT MINUS 내용두집합을더해서결과를출력. 중복값제거하고정렬함두집합을더해서결과를출력. 중복값제거안하고정렬안함두집합의교집합결과를출력. 정렬함두집합의차집합결과를출력. 정렬함. 쿼리의순서중요함 46

47 01 chapter select 문장을이용하여원하는데이터가져오기 앞 4가지의집합연산자를사용할경우에주의사항은아래와같습니다. 첫째, 두집합의 SELECT 절에오는칼럼의개수가동일해야합니다. 둘째, 두집합의 SELECT 절에오는칼럼의데이터형이동일해야합니다. 셋째, 두집합의칼럼명은달라도상관없습니다. 아래의예제들로앞연산자들을하나씩자세하게살펴보겠습니다. 1 UNION / UNION ALL( 두집합을더합니다.) UNION과 UNION ALL 연산자는두집합을더해서결과를출력합니다. 차이점은 UNION은두결과에서중복된값을제거하고출력하고 UNION ALL은중복되는값까지전부다출력한다는점입니다. 그리고 UNION은출력결과를정렬을해서보여주고 UNION ALL은정렬을하지않고그냥보여주게됩니다. 예제 1 Student 테이블과 professor 테이블을참조하여 101 번학과에소속되어있는학생 과교수들의학번 ( 교수는교수번호 ), 이름, 학과번호를출력하세요. 위그림에서왼쪽그림은 UNION 연산자를사용하였고오른쪽그림은 UNION ALL을사용하였습니다. 왼쪽그림은정렬이되어서나왔고오른쪽그림은정렬이안된것보이죠? 만약중복되는데이터가있었다면왼쪽에는안보이고오른쪽에는보일것입니다. 47

48 ORACLE 오라클 SQL 과 PL/SQL 예제 2 Student 테이블에서 101 번학과와 201 번학과를전공하는학생들의이름을출력 하세요. 위그림에서왼쪽그림은 UNION 연산자를써서중복되는서진수학생의이름이 1회만나오고오른쪽그림은서진수학생이 2번다나옵니다. 즉서진수학생은복수전공자라는의미입니다. 2 INTERSECT 연산자사용하기 INTERSECT 연산자는두집합의교집합부분을찾아내는집합연산자입니다. 예제 stduent 테이블을사용하여 101 번학과와 201 번학과를복수전공하는사람의이름 을출력하세요. 48

49 01 chapter select 문장을이용하여원하는데이터가져오기 앞의예에서 deptno1 칼럼은 1 전공이고 deptno2 칼럼은 2 전공을의미합니다 ( 복수전공자를구분하기위해서사용합니다 ). 3 MINUS 연산자사용하기 MINUS 연산자는큰집합에서작은집합을빼는집합연산자입니다. 아래의예로사용법및주의사항을살펴보겠습니다. 예제 professor 테이블에서전체직원의급여를 20% 인상하기위한직원명단을출력 하려합니다. 단, 직급이전임강사인사람들은명단에서제외하세요. 위의그림에서왼쪽화면은전체명단 (16명) 이고오른쪽화면은전임강사들이빠진명단 (11명) 입니다. 그리고왼쪽화면을보면 MINUS 연산자도결과값을정렬한다는것을알수있습니다. 즉데이터량이많을경우시간이오래걸린다는뜻입니다. MINUS 연산자는어떤쿼리를먼저쓰는가가아주중요합니다. 즉 3-5와 5-3 이결과가다른것처럼 MINUS 연산자에서도먼저쓰는쿼리결과집합에서나중에오는쿼리를빼기때문에만약에쿼리를바꾸어서작성한다면결과값은오류가될것입니다. 아주중요한내용이므로꼭기억하기바랍니다. 49

50 ORACLE 오라클 SQL 과 PL/SQL 만약집합연산자를사용할때두개의쿼리의칼럼결과가다르거나데이터형이다르면아래와같은에러가발생하게됩니다. SELECT 절의칼럼개수가다를경우발생하는에러입니다. SELECT 절의칼럼의데이터타입이다를경우발생하는에러입니다. 여기까지 SELECT 문장의가장기본적인문법들과조건검색방법, 일반연산자와집합연산자사용방법등을살펴보았습니다. 다음장에서는 SQL 작성시중요한함수들에대해서살펴보겠습니다. 50

51

52 저자와의협의에의해인지를생략합니다. 다양한예제로쉽게배우는오라클 SQL 과 PL/SQL 서진수지음 - 경기도파주시문발동 파주출판도시대표전화 : (031) , FAX : (031) 홈페이지 : 초판인쇄 : 초판발행 : 발행인 : 김승기 발행처 : 생능출판사 신고번호 : 제 호 신고일자 : I S B N : (93000) * 파본및잘못된책은바꾸어드립니다. 정가 27,000원

53

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서짂수저 1 장. SELECT 문을이용하여 원하는데이터가져오기 1 - DESC 명령어로컬럼을확인하자! SCOTT>DESC emp ; Name Null? Type ------------------------ ------------------ -------------------- EMPNO NOT NULL NUMBER(4)

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 4 장 JOIN 을배웁니다 1 2 1. Cartesian Product ( 카티션곱, CROSS Join) - Oracle Join 문법 SQL> SELECT e.ename, d.dname 2 FROM emp e, dept d ; - ANSI Join 문법 SQL> SELECT e.ename, d.dname

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양핚예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 10 장 view 를배웁니다 1 - View 란가상의테이블이다! 2 1. 단순 View (Simple View) SCOTT>CONN / AS SYSDBA; SYS>GRANT CREATE VIEW TO scott ; CREATE [OR REPLACE] [ FORCE NOFORCE] VIEW view

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 9 장인덱스를배웁니다 1 1. 인덱스란무엇인가? 2 - ROWID ( 주소 ) 조회하기 SCOTT>SELECT ROWID, empno, ename 2 FROM emp 3 WHERE empno=7902 ; ROWID EMPNO ENAME --------------------------------- ----------

More information

ORACLE-SQL

ORACLE-SQL ORACLE-SQL SELECT 문 2014-04-12 Blog.ksh123jjang.me 내용 SELECT문이란?... 2 SLELECT문사용하기... 3 모든열선택... 4 특정열검색... 5 SQL문작성방법... 6 열머리글기본값... 7 산술식... 8 NULL... 9 열 alias... 10 연결연산자... 11 대체인용연산자 (q)... 12 중복행제거...

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 3 장 SQL 복수행함수 ( 그룹함수 ) 를배웁니다 1 함수이름 의 미 사용예 COUNT 입력되는데이터들의건수를출력 COUNT(sal) SUM 입력되는데이터들의합계값을출력 SUM(sal) AVG 입력되는데이터들의평균값을출력 AVG(sal) MAX 입력되는데이터들중최고값을출력 MAX(sal) MIN

More information

5장 SQL 언어 Part II

5장 SQL 언어 Part II 5 장 SQL 언어 Part II 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 1 / 26 데이터조작문 데이터검색 : SELECT 문데이터추가 : INSERT 문데이터수정 : UPDATE 문데이터삭제 : DELETE 문 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 2 / 26 SELECT

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 6 장. DML 을배웁니다 1 - SQL 명령어들 DML (Data Manipulation Language) : INSERT( 입력 ), UPDATE( 변경 ), DELETE( 삭제 ), MERGE( 병합 ) DDL (Data Definition Language) : CREATE ( 생성 ), ALTER

More information

Microsoft Word - SQL튜닝_실습교재_.doc

Microsoft Word - SQL튜닝_실습교재_.doc * 실습환경 * 1. 오라클데이터베이스의튜닝실습을하기위해서는기본적인테이블과데이터가필요합니다. 다음과같은절차에의해환경설정을하십시오. 1) 강사가제공하는 Export 된파일 (scott.dmp) 을자신의 ORACLE 경로에저장하십시오. [C: ] cd C: ORACLE ORA92 BIN [C: ] dir scott.dmp scott.dmp 2) SYSTEM 사용자로접속하여

More information

DBMS & SQL Server Installation Database Laboratory

DBMS & SQL Server Installation Database Laboratory DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.

More information

13주-14주proc.PDF

13주-14주proc.PDF 12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float

More information

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

@OneToOne(cascade = = addr_id) private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a 1 대 1 단방향, 주테이블에외래키실습 http://ojcedu.com, http://ojc.asia STS -> Spring Stater Project name : onetoone-1 SQL : JPA, MySQL 선택 http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=524 ( 마리아 DB 설치는위 URL

More information

Microsoft PowerPoint - Oracle Data Access Pattern.ppt

Microsoft PowerPoint - Oracle Data Access Pattern.ppt Special Key Note Oracle Data Access Pattern ( 주 ) 오픈메이드컨설팅 오동규수석컨설턴트 1 What is Data Access Pattern? > 데이터를 I/O 하는방식 Index Scan Full Table Scan Rowid 2 Why is The Pattern Important? >SQL 의성능을좌지우지함. >SQL

More information

´ÙÁß Row °á°ú¸¦ ´ÜÀÏÇàÀ¸·Î Äĸ¶·Î ºÐ¸®ÇØ Ãâ·ÂÇÏ´Â ¹æ¹ý

´ÙÁß Row °á°ú¸¦ ´ÜÀÏÇàÀ¸·Î Äĸ¶·Î ºÐ¸®ÇØ Ãâ·ÂÇÏ´Â ¹æ¹ý 5 중 1 2007-06-12 오후 5:52 Home Login Register SQL Query SQL Tuning Oracle Administration Tools References Boards SoQooL? 쏘쿨 SoQooL) 이란? Q&A Tips Lectures Function Lectures Oracle Spatial Tips Scripts SQL

More information

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역 WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역시쉽게해결할수있다. 이번화이트페이퍼에서는 Window Function 중순위 RANK, ROW_NUMBER,

More information

빅데이터분산컴퓨팅-5-수정

빅데이터분산컴퓨팅-5-수정 Apache Hive 빅데이터분산컴퓨팅 박영택 Apache Hive 개요 Apache Hive 는 MapReduce 기반의 High-level abstraction HiveQL은 SQL-like 언어를사용 Hadoop 클러스터에서 MapReduce 잡을생성함 Facebook 에서데이터웨어하우스를위해개발되었음 현재는오픈소스인 Apache 프로젝트 Hive 유저를위한

More information

단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT

단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT Study Room Doc.03 : SQLD 예상문제 ( 단답형 ) 네이버 Cafe : 데이터베이스전문가포럼 Study Room http://cafe.naver.com/sqlpd SQLD 26,25,24,21 회기출문제를바탕으로작성 작성자 : 월야루 도움 : 빙수민외카페댓글 2017-11-30 단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL

More information

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE ALTIBASE HDB 6.3.1.10.1 Patch Notes 목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다....

More information

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770> 제 8강 SQL: 관계데이터베이스언어 강의목표 관계데이타베이스언어로서상용 DBMS에서가장널리사용되는 SQL의동작원리에관하여학습하고, 이를이용하여다양한질의문을작성하는방법을습득한다 기대효과 SQL의데이터정의기능을이해한다 SQL의데이터조작기능중질의기능을이해한다 SQL의데이터조작기능중데이터갱신기능을이해한다 SQL의데이터조작기능중뷰및인덱스관련기능을이해한다 SQL 의개요

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

Jerry Held

Jerry Held ,, - - - : DELETE : ROW (ROWID) row ROWID : I/O Full Table Scan I/O Index Scan ROWID I/O Fast Full Index Scan scan scan scan I/O scan scan Unique, nonunique. (Concatenated Index) B* Tree Bitmap Reverse

More information

,, - - - : DELETE : ROW (ROWID) row ROWID : I/O Full Table Scan scan I/O scan Index Scan ROWID scan I/O Fast Full Index Scan scan scan I/O Unique, nonunique. (Concatenated Index) B* Tree Bitmap Reverse

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins Project 1-3: Implementing DML Due: 2015/11/11 (Wed), 11:59 PM 이번프로젝트의목표는프로젝트 1-1 및프로젝트 1-2에서구현한프로그램에기능을추가하여간단한 DML을처리할수있도록하는것이다. 구현한프로그램은 3개의 DML 구문 (insert, delete, select) 을처리할수있어야한다. 테이블데이터는파일에저장되어프로그램이종료되어도사라지지않아야한다.

More information

SQL Tuning Business Development DB

SQL Tuning Business Development DB SQL Tuning Business Development DB Oracle Optimizer 4.1 Optimizer SQL SQL.. SQL Optimizer :.. Rule-Based Optimization (RBO), Cost-Based Optimization (CBO) SQL Optimizer SQL Query Parser Dictionary Rule-Based

More information

Microsoft PowerPoint - 10Àå.ppt

Microsoft PowerPoint - 10Àå.ppt 10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어

More information

강의 개요

강의 개요 정규화와 SELECT (II) 웹데이터베이스 학과 학생 과목 학과 지도교수 학과학번성명 수강과목 담당교수 A 김수정 A 0001 고길동 성질이론 김수정 B 허영만 A 0002 둘리 한식의멋 허영만 C 강풀 B 0003 희동이 심리학의이해 강풀 과목 _ 성적 학번 수강과목 성적 0001 성질이론 A 0001 한식의멋 C 0002 성질이론 A 0002 한식의멋

More information

Microsoft PowerPoint - ch07_데이터베이스 언어 SQL.pptx

Microsoft PowerPoint - ch07_데이터베이스 언어 SQL.pptx 05-01 SQL의소개 SQL을이용한데이터정의 SQL을이용한데이터조작 뷰 삽입 SQL 학습목표 SQL의역할을이해하고, 이를기능별로분류해본다. SQL의데이터정의기능을예제를통해익힌다. SQL의데이터조작기능을예제를통해익힌다. 뷰의개념과장점을이해한다. 삽입 SQL의역할을이해한다. 2 01 SQL 의소개 SQL (Structured Query Language) 의미

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 MySQL - 명령어 1. 데이터베이스관련명령 2. 데이터베이스테이블관련명령 3. SQL 명령의일괄실행 4. 레코드관련명령 5. 데이터베이스백업및복원명령 1. 데이터베이스관련명령 데이터베이스접속명령 데이터베이스접속명령 mysql -u계정 -p비밀번호데이터베이스명 C: > mysql -ukdhong p1234 kdhong_db 데이터베이스생성명령 데이터베이스생성명령

More information

SQL

SQL 데이터베이스및 SQL 언어의기초 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 데이터베이스및 SQL 언어의기초 1 / 36 Part I 데이터베이스 박창이 ( 서울시립대학교통계학과 ) 데이터베이스및 SQL 언어의기초 2 / 36 데이터의구성및표현 개체 (entity): DB가표현하려는유형 / 무형적정보의대상속성 (attribute): 개체가갖는특성도메인

More information

문서 템플릿

문서 템플릿 HDSI 툴분석 [sql injection 기술명세서 ] Sql injection 기술명세서 Ver. 0.01 이문서는 sql injection 기술명세가범위입니다. Copyrights Copyright 2009 by CanvasTeam@SpeeDroot( 장경칩 ) All Rights Reserved. 장경칩의사전승인없이본내용의전부또는일부에대한복사, 전재,

More information

TITLE

TITLE CSED421 Database Systems Lab MySQL Basic Syntax SQL DML & DDL Data Manipulation Language SELECT UPDATE DELETE INSERT INTO Data Definition Language CREATE DATABASE ALTER DATABASE CREATE TABLE ALTER TABLE

More information

PowerPoint Presentation

PowerPoint Presentation 6 장 SQL (section 4-6) 목차 SECTION 01 SQL 의개요 1-1 SQL의역사 1-2 SQL의유형별종류 SECTION 02 데이터정의어 (DDL) 2-1 스키마 2-2 테이블생성 (CREATE TABLE) 2-3 테이블변경 (ALTER TABLE) 2-4 테이블제거 (DROP TABLE) 2-5 제약조건 SECTION 03 데이터조작어 (DML)

More information

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터 Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터를사용자에게전송하게되며 Parsing 단계에서실행계획이생성된다. Bind 변수를사용하는 SQL

More information

예제소스는 에서다운로드하여사용하거나툴바의 [ 새쿼리 ]( 에아래의소스를입력한다. 입력후에는앞으로실습을위해서저장해둔다. -- 실습에필요한 Madang DB 와 COMPANY DB 를모두생성한다. -- 데이터베이스생성 US

예제소스는  에서다운로드하여사용하거나툴바의 [ 새쿼리 ]( 에아래의소스를입력한다. 입력후에는앞으로실습을위해서저장해둔다. -- 실습에필요한 Madang DB 와 COMPANY DB 를모두생성한다. -- 데이터베이스생성 US A.4 마당서점데이터베이스생성 1 마당서점의데이터베이스 Madang을생성하기위해윈도우의 [ 시작 ]-[ 모든프로그램 ]- [Microsoft SQL Server 2012]-[SQL Server Management Studio] 를선택한다. 인증을 [Windows 인증 ] 으로선택한후 < 연결 > 을클릭한다. 2 1 3 서버이름 MADANG_DB\SQLEXPRESS

More information

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다 10 강. 쉘스크립트 쉘스크립트 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다른운영체제로이식되지않음 -스크립트언어를사용하면컴파일과정이없고인터프리터가소스파일에서명령문을판독하여각각의명령을수행

More information

FlashBackt.ppt

FlashBackt.ppt 1. Flashback 목적 Flashback 이란? 사용자실수에의한손상된데이터를 Database 의크기와상관없이복구를할수있는기능이다. 이 Flashback 기능은일반적인복구에서우려되는데이터베이스의크기를걱정하지않아도된다. 보통의사용자실수는커다란시스템장애가수반되며, 이를복구하기위해서는많은자원과시간이필요하다. 하지만 9i 에서지원되느 flashback query

More information

歯sql_tuning2

歯sql_tuning2 SQL Tuning (2) SQL SQL SQL Tuning ROW(1) ROW(2) ROW(n) update ROW(2) at time 1 & Uncommitted update ROW(2) at time 2 SQLDBA> @ UTLLOCKT WAITING_SESSION TYPE MODE_REQUESTED MODE_HELD LOCK_ID1

More information

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap04-연산자.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

객관식 1. 아래의쿼리를만족하는결과를가장잘설명한것은? SELECT A.* FROM HR.EMPLOYEES A, HR.EMPLOYEES B WHERE 1=1 AND A.MANAGER_ID = B.EMPLOYEE_ID AND B.SALARY >= ANY A.SALARY;

객관식 1. 아래의쿼리를만족하는결과를가장잘설명한것은? SELECT A.* FROM HR.EMPLOYEES A, HR.EMPLOYEES B WHERE 1=1 AND A.MANAGER_ID = B.EMPLOYEE_ID AND B.SALARY >= ANY A.SALARY; Study Room Doc.02 : SQLD 예상문제 네이버 Cafe : 데이터베이스전문가포럼 Study Room http://cafe.naver.com/sqlpd SQLD 21 회기출문제를바탕으로작성 작성자 : 월야루 2016-09-04 객관식 1. 아래의쿼리를만족하는결과를가장잘설명한것은? SELECT A.* FROM HR.EMPLOYEES A, HR.EMPLOYEES

More information

10.ppt

10.ppt : SQL. SQL Plus. JDBC. SQL >> SQL create table : CREATE TABLE ( ( ), ( ),.. ) SQL >> SQL create table : id username dept birth email id username dept birth email CREATE TABLE member ( id NUMBER NOT NULL

More information

ALTIBASE HDB Patch Notes

ALTIBASE HDB Patch Notes ALTIBASE HDB 6.5.1.5.6 Patch Notes 목차 BUG-45643 암호화컬럼의경우, 이중화환경에서 DDL 수행시 Replication HandShake 가실패하는문제가있어수정하였습니다... 4 BUG-45652 이중화에서 Active Server 와 Standby Server 의 List Partition 테이블의범위조건이다른경우에 Handshake

More information

SBR-100S User Manual

SBR-100S User Manual ( 1 / 13 ) SBR-100S 모델에 대한 사용자 펌웨어 업그레이드 방법을 안내해 드립니다. SBR-100S 는 신규 펌웨어가 있을시 FOTA(자동업데이트) 기능을 통하여 자동 업그레이드가 되며, 필요시 사용자가 신규 펌웨어를 다운받아 수동으로 업그레이드 할 수 있습니다. 1. 준비하기 1.1 연결 장치 준비 펌웨어 업그레이드를 위해서는 SBR-100S

More information

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 CHAPTER 9 둘중하나선택하기 관계연산자 두개의피연산자를비교하는연산자 결과값은참 (1) 아니면거짓 (0) x == y x 와 y 의값이같은지비교한다. 관계연산자 연산자 의미 x == y x와 y가같은가? x!= y

More information

<4D F736F F D203033C6C4C6BCBCC72DB8AEBFC0B1D7B9E6B9FD2E646F63>

<4D F736F F D203033C6C4C6BCBCC72DB8AEBFC0B1D7B9E6B9FD2E646F63> Reviewed by Oracle Certified Master Korea Community ( http:www.ocmkorea.com http:cafe.daum.netoraclemanager ) 1.1.1 파티션테이블에서사용할수있는리오그방법파티션 level 의 importexport 방법을이용해파티션테이블중특정파티션 ( 혹은서브파티션 ) 만을선택적으로리오그할수있다.

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

6장. SQL

6장. SQL 학습목표 SQL이 무엇인지 개념을 설명 테이블을 생성, 변경, 제거할 할 수 있다. 수 있다. 데이터를 검색, 갱신, 삽입, 삭 제할 수 있다. 뷰, 시스템 카탈로그, 저장 프 로시저, 트리거에 대한 개념 을 설명할 수 있다. 2 목차 SECTION 01 SQL의 개요 11 SQL의 역사 12 SQL의 유형별 종류 SECTION 0 21 스키마 22 테이블

More information

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - chap05-제어문.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); 1 학습목표 제어문인,, 분기문에 대해 알아본다. 인 if와 switch의 사용 방법과 사용시 주의사항에 대해 알아본다.

More information

Microsoft Word - [Unioneinc] 특정컬럼의 통계정보 갱신_ _ldh.doc

Microsoft Word - [Unioneinc] 특정컬럼의 통계정보 갱신_ _ldh.doc 특정 Column 통계정보갱신가이드 유니원아이앤씨 DB 사업부이대혁 2015 년 03 월 02 일 문서정보프로젝트명서브시스템명 버전 1.0 문서명 특정 Column 통계정보갱신가이드 작성일 2015-03-02 작성자 DB사업부이대혁사원 최종수정일 2015-03-02 문서번호 UNIONE-201503021500-LDH 재개정이력 일자내용수정인버전 문서배포이력

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

»êÇÐ-150È£

»êÇÐ-150È£ Korea Sanhak Foundation News VOL. 150 * 2011. 12. 30 논단 이슈별 CSR 활동이 기업 충성도에 미치는 영향 : 국가별 및 산업별 비교분석 최 지 호 전남대 경영학부 교수 Ⅰ. 서론 Ⅰ. 서론 Ⅱ. 문헌 고찰 및 가설 개발 2. 1. 호혜성의 원리에 기초한 기업의 사회적 투자에 대한 소

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]

More information

Infinity(∞) Strategy

Infinity(∞) Strategy 반복제어 표월성 passwd74@cherub.sungkyul.edu 개요 for() 문 break문과 continue문 while문 do-while문 for() 문 for() 문형식 for( 표현식1; 표현식2; 표현식3) 여러문장들 ; 표현식 1 : 초기화 (1 번만수행 ) 표현식 2 : 반복문수행조건 ( 없으면무한반복 ) 표현식 3 : 반복문수행횟수 for()

More information

Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUER

Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUER Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUERY 을실행하게된다면 BLOCK I/O 가많이발생하게된다. 이런이유로 QUERY 의성능은좋지못할것이다.

More information

RDB개요.ppt

RDB개요.ppt 1 2 3 < > 1 SQL SQL 2 SQL 3 column DEPT DEPT# DNAME BUDGET D1 D2 D3 Marketing Development Research 10M 12M 5M tuple EMP EMP# ENAME DEPT# SALARY D1 40 D1 45 E1 E2 E3 Lopez Cheng Finzi D2 30 E4 Satio D2

More information

Microsoft Word - 04_EXCEPTION.doc

Microsoft Word - 04_EXCEPTION.doc ORACLE EXCEPTION INTRODUCTION PLSQL 블록이 PARSE 되는동안에발생되는에러를컴파일에러 (Compilation Error) 라고부르며, PLSQL 블록이실행되는동안에발생되는에러를런타임에러 (Run-Time Error) 라고부르는데, 이런타임에러를오라클에서는예외 (Exception) 라고부른다. 오라클의예외 (Exception) 는크게두가지로구분된다.

More information

ESQL/C

ESQL/C 20 장. PL/SQL 커서 주요내용 암시적커서 명시적커서선언 명시적커서열기및닫기 명시적커서에서데이터 Fetch 커서의속성 (%ISOPEN, %ROWCOUNT, %FOUND, %NOTFOUND) 커서 FOR 루프 PL/SQL 의커서 (Cursor) 커서 SQL 문과프로그램실행과정에서결과를저장할수있는오라클메모리구조 ( 개별 SQL 작업영역 ) 암시적커서 (Implicit

More information

Microsoft Word - 기술노트[19회] Flashback.doc

Microsoft Word - 기술노트[19회] Flashback.doc Goodus 기술노트 [19 회 ] Flashback Author 권웅원, 나지혜 Creation Date 2007-04-25 Last Updated 2007-04-25 Version 1.0 Copyright(C) 2004 Goodus Inc. All Rights Reserved Version 변경일자 변경자 ( 작성자 ) 주요내용 1 2007-04-25 권웅원,

More information

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,

More information

배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 (

배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 ( 배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 ( 이후배치프로그램 ) 에대한성능문제를파악하기위해수행되는모든 SQL 에대한개별수행내역을정확히판단할수있어야한다.

More information

ePapyrus PDF Document

ePapyrus PDF Document Goodus 기술노트 [38 회 ] Author 윤병길, 이은정 Creation Date 2009-02-27 Last Updated Version 1.0 Copyright(C) 2004 Goodus Inc. All Rights Reserved Version 변경일자변경자 ( 작성자 ) 주요내용 1 2009-02-27 윤병길, 이은정문서최초작성 Contents

More information

歯PLSQL10.PDF

歯PLSQL10.PDF 10 - SQL*Pl u s Pl / SQL - SQL*P lus 10-1 1 0.1 PL/ SQL SQL*Pl u s. SQL*P lus 10-2 1 0.2 S QL* Pl u s PL/ S QL SQL*Pl u s, Pl / SQL. - PL/ SQL (i npu t ), (s t or e ), (r un). - PL/ SQL s cr i pt,,. -

More information

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상 Android 용 Brother Image Viewer 설명서 버전 0 KOR 아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상표입니다. Android는

More information

0. Intro ORACLE 社 Oracle, My SQL, Exadata IBM 社 DB2, Informix SAP 社 ASE, IQ, ASA Microsoft 社 SQL Server Teradata 社 Teradata 공통점은? Altibase 社 Altibase

0. Intro ORACLE 社 Oracle, My SQL, Exadata IBM 社 DB2, Informix SAP 社 ASE, IQ, ASA Microsoft 社 SQL Server Teradata 社 Teradata 공통점은? Altibase 社 Altibase 목 차 SQL 기본과활용 2010. 09. 29 삼성 S D S 정성철수석 ( D A / T A ) 1. RDBMS 2. SQL 3. SELECT 4. INDEX 5. MODELING 6. JOIN 7. DRIVING TABLE 8. SUBQUERY 9. OPTIMIZER 10. 과목2. ERD 11. 과목2. 목차 0. Intro ORACLE 社 Oracle,

More information

CH04) 쿼리 (Query) 데이터베이스일반 1- 쿼리 (Query) 1) 쿼리의개념 테이블의데이터에서사용자가원하는조건에의해필드를추출하거나레코드를추출할수있는개체로즉, 여러가지방법으로데이터를보고, 변경하고, 분석할수있음 쿼리를폼, 보고서, 데이터액세스페이지등의레코드원본

CH04) 쿼리 (Query) 데이터베이스일반 1- 쿼리 (Query) 1) 쿼리의개념 테이블의데이터에서사용자가원하는조건에의해필드를추출하거나레코드를추출할수있는개체로즉, 여러가지방법으로데이터를보고, 변경하고, 분석할수있음 쿼리를폼, 보고서, 데이터액세스페이지등의레코드원본 1- 쿼리 (Query) 1) 쿼리의개념 테이블의데이터에서사용자가원하는조건에의해필드를추출하거나레코드를추출할수있는개체로즉, 여러가지방법으로데이터를보고, 변경하고, 분석할수있음 쿼리를폼, 보고서, 데이터액세스페이지등의레코드원본으로사용할수도있음 여러개의테이블에서서로유기적인관계를설정하여하나의테이블에서작업하는것처럼작업이가능 2- 쿼리 (Query) 종류 1) 선택쿼리가장일반적인방법형태의쿼리

More information

Microsoft Word - PLSQL.doc

Microsoft Word - PLSQL.doc PL/SQL 2008 DB system and programming 보충자료 PL/SQL의실행절 BEGIN 절에서의몇가지규칙 - 실행문은여러라인에걸쳐사용할수있다. - 변수명의명명규칙은오라클의일반적인명명규칙과동일하다. PL/SQL 블록내에서 SQL 문을사용할때에는컬럼명과같은변수명은피해야한다. - SQL에서와마찬가지로날짜와문자는홑따옴표 ( ) 를사용하여인용하여야한다.

More information

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r -------------------------------------------------------------------- -- 1. : ts_cre_bonsa.sql -- 2. :

More information

Microsoft PowerPoint - Oracle Data Join Method.pptx [읽기 전용]

Microsoft PowerPoint - Oracle Data Join Method.pptx [읽기 전용] Special Key Note Oracle Data Join Method ( 주 ) 오픈메이드컨설팅 오동규수석컨설턴트 1 What is Join? JOIN is Multiply. 2 Why is the Join Method so important? 잘못사용하면큰재앙이따른다.( 위의그림처럼 ) 두개의집합을연결할수있는유일한수단. Join Method 는모든 DBMS

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

와플-4년-2호-본문-15.ps

와플-4년-2호-본문-15.ps 1 2 1+2 + = = 1 1 1 +2 =(1+2)+& + *=+ = + 8 2 + = = =1 6 6 6 6 6 2 2 1 1 1 + =(1+)+& + *=+ =+1 = 2 6 1 21 1 + = + = = 1 1 1 + 1-1 1 1 + 6 6 0 1 + 1 + = = + 7 7 2 1 2 1 + =(+ )+& + *= + = 2-1 2 +2 9 9 2

More information

BY-FDP-4-70.hwp

BY-FDP-4-70.hwp RS-232, RS485 FND Display Module BY-FDP-4-70-XX (Rev 1.0) - 1 - 1. 개요. 본 Display Module은 RS-232, RS-485 겸용입니다. Power : DC24V, DC12V( 주문사양). Max Current : 0.6A 숫자크기 : 58mm(FND Size : 70x47mm 4 개) RS-232,

More information

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

PathEye 공식 블로그 다운로드 받으세요!!   지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye Mobile Ver. 0.71b 2009. 3. 17 By PathEye 공식 블로그 다운로드 받으세요!! http://blog.patheye.com 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye 설치 1/3 최종 배포 버전을 다 운로드 받습니다. 다운로드된 파일은 CAB 파일입니다. CAB 파일에는

More information

윈도우즈프로그래밍(1)

윈도우즈프로그래밍(1) 제어문 (2) For~Next 문 윈도우즈프로그래밍 (1) ( 신흥대학교컴퓨터정보계열 ) 2/17 Contents 학습목표 프로그램에서주어진특정문장을부분을일정횟수만큼반복해서실행하는문장으로 For~Next 문등의구조를이해하고활용할수있다. 내용 For~Next 문 다중 For 문 3/17 제어문 - FOR 문 반복문 : 프로그램에서주어진특정문장들을일정한횟수만큼반복해서실행하는문장

More information

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp 1 0 1.7 6 5 'A ' '/ u 4 4 2 2 ' " JS P 프로그래밍 " A ', 'b ', ' 한 ', 9, \ u d 6 5 4 ' c h a r a = 'A '; 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 < % @ p a g e c o n te n

More information

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

SIGIL 완벽입문

SIGIL 완벽입문 누구나 만드는 전자책 SIGIL 을 이용해 전자책을 만들기 EPUB 전자책이 가지는 단점 EPUB이라는 포맷과 제일 많이 비교되는 포맷은 PDF라는 포맷 입니다. EPUB이 나오기 전까지 전 세계에서 가장 많이 사용되던 전자책 포맷이고, 아직도 많이 사 용되기 때문이기도 한며, 또한 PDF는 종이책 출력을 위해서도 사용되기 때문에 종이책 VS

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Tablespace On-Offline 테이블스페이스 온라인/오프라인 2018/11/10 12:06 1/2 Tablespace On-Offline 테이블스페이스온라인 / 오프라인 목차 Tablespace On-Offline 테이블스페이스온라인 / 오프라인... 1 일반테이블스페이스 (TABLESPACE)... 1 일반테이블스페이스생성하기... 1 테이블스페이스조회하기... 1 테이블스페이스에데이터파일 (DATA FILE) 추가

More information

Microsoft Word - PLC제어응용-2차시.doc

Microsoft Word - PLC제어응용-2차시.doc 과정명 PLC 제어응용차시명 2 차시. 접점명령 학습목표 1. 연산개시명령 (LOAD, LOAD NOT) 에대하여설명할수있다. 2. 직렬접속명령 (AND, AND NOT) 에대하여설명할수있다. 3. 병렬접속명령 (OR, OR NOT) 에대하여설명할수있다. 4.PLC의접점명령을가지고간단한프로그램을작성할수있다. 학습내용 1. 연산개시명령 1) 연산개시명령 (LOAD,

More information

PostgreSQL 2 Uniersity of California at Berkeley ( ) 에서개발된관계형데이터베이스서버인 Ingres 가시초 ( 후에 Computer Associates 에인수됨 ) 1

PostgreSQL 2  Uniersity of California at Berkeley ( ) 에서개발된관계형데이터베이스서버인 Ingres 가시초 ( 후에 Computer Associates 에인수됨 ) 1 ERwin 과 PostgreSQL 연동하기 인하대학교지리정보공학과데이터베이스실습 PostgreSQL 2 http://www.postgresql.org/ Uniersity of California at Berkeley (1977-1985) 에서개발된관계형데이터베이스서버인 Ingres 가시초 ( 후에 Computer Associates 에인수됨 ) 1996 년부터

More information

3 권 정답

3 권 정답 3 권 정답 엄마표학습생활기록부 엄마가선생님이되어아이의학업성취도를평가해주세요. 021 계획준수 학습기간 월일 ~ 월일 원리이해 시간단축 정확성 종합의견 022 계획준수 학습기간 월일 ~ 월일 원리이해 시간단축 정확성 종합의견 023 계획준수 학습기간 월일 ~ 월일 원리이해 시간단축 정확성 종합의견 024 계획준수 학습기간 월일 ~ 월일 원리이해 시간단속 정확성

More information

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 한

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용   한 수업환경구축 웹데이터베이스구축및실습 구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 http://chrome.google.com 한림대학교웹데이터베이스 - 이윤환 APM 설치 : AUTOSET6

More information

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) 8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) - DDL(Data Definition Language) : show, create, drop

More information

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-1Array.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어

More information

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

Microsoft Word - 05_SUBPROGRAM.doc

Microsoft Word - 05_SUBPROGRAM.doc ORACLE SUBPROGRAM INTRODUCTION PLSQL 은오라클에서제공하는프로그래밍언어이다. 이는데이터베이스언어인 SQL 과함께효과적으로데이터베이스에접근할수있는방법을제공하고있다. Procedural LanguageSQL 의약자에서볼수있듯이절차적인기능을기본적으로가지는프로그래밍언어이다. PLSQL 은기본적으로블록 (BLOCK) 구조를가지고있다. 블록의기본적인구성은선언부

More information

< 고급 C 프로그래밍및실습 > 11 장구조체실습문제 문제에대한안내 - 특별한언급이없으면문제의조건에맞지않는입력은입력되지않는다고가정하라. - 특별한언급이없으면, 각줄의맨앞과맨뒤에는공백을출력하지않는다. - 출력예시에서 는각줄의맨앞과맨뒤에출력되는공백을의미한다. - 입출력예시

< 고급 C 프로그래밍및실습 > 11 장구조체실습문제 문제에대한안내 - 특별한언급이없으면문제의조건에맞지않는입력은입력되지않는다고가정하라. - 특별한언급이없으면, 각줄의맨앞과맨뒤에는공백을출력하지않는다. - 출력예시에서 는각줄의맨앞과맨뒤에출력되는공백을의미한다. - 입출력예시 문제에대한안내 - 특별한언급이없으면문제의조건에맞지않는입력은입력되지않는다고가정하라. - 특별한언급이없으면, 각줄의맨앞과맨뒤에는공백을출력하지않는다. - 출력예시에서 는각줄의맨앞과맨뒤에출력되는공백을의미한다. - 입출력예시에서 이후는각입력과출력에대한설명이다. 11장2절 [ 문제 1 ] 3차원벡터를저장할구조체를선언후두개의 3차원벡터 (V 1, V 2 ) 를입력받으시오.

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070> 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include "QuickSort.h" 7 using namespace std; 8 9 10 Node* Queue[100]; // 추가입력된데이터를저장하기위한 Queue

More information

SQL Server 에서 SQL 튜닝시알아야할힌트와사용 방법 엑셈컨설팅본부 /DB 컨설팅팀박성호 Optimizer 가 SQL 을해석할때항상최적의실행계획을생성하지는못한다. 복잡한 SQL 일수록최적의실행계획을생성하기위해고려해야할대상 (Table, Index 가많은경우 )

SQL Server 에서 SQL 튜닝시알아야할힌트와사용 방법 엑셈컨설팅본부 /DB 컨설팅팀박성호 Optimizer 가 SQL 을해석할때항상최적의실행계획을생성하지는못한다. 복잡한 SQL 일수록최적의실행계획을생성하기위해고려해야할대상 (Table, Index 가많은경우 ) SQL Server 에서 SQL 튜닝시알아야할힌트와사용 방법 엑셈컨설팅본부 /DB 컨설팅팀박성호 Optimizer 가 SQL 을해석할때항상최적의실행계획을생성하지는못한다. 복잡한 SQL 일수록최적의실행계획을생성하기위해고려해야할대상 (Table, Index 가많은경우 ) 이많기때문에, 실행계획생성시 SQL 의 Cost 를잘못계산하여최적의실행계획을세우지못하는경우가발생한다.

More information

untitled

untitled (shared) (integrated) (stored) (operational) (data) : (DBMS) :, (database) :DBMS File & Database - : - : ( : ) - : - : - :, - DB - - -DBMScatalog meta-data -DBMS -DBMS - -DBMS concurrency control E-R,

More information

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT 3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT NOT NULL, FOREIGN KEY (parent_id) REFERENCES Comments(comment_id)

More information

Microsoft Word - Goodus_기술노트[19회]_Flashback

Microsoft Word - Goodus_기술노트[19회]_Flashback Goodus 기술노트 [19 회 ] Flashback Author 권웅원, 나지혜 Creation Date 2007-04-25 Last Updated 2007-04-25 Version 1.0 Copyright(C) 2004 Goodus Inc. All Rights Reserved Version 변경일자 변경자 ( 작성자 ) 주요내용 1 2007-04-25 권웅원,

More information

18강.hwp

18강.hwp ------------------8강 데이터 관리------------------ **주요 키워드 ** () 레코드관리 () 정렬 () 자동필터, 고급필터 () 그룹과 윤곽설정, 텍스트나누기, 외부데이터 () 레코드관리********************************** [08/]. 다음 중 [데이터]-[레코드 관리]에 대한 설명으로 옳지 않은 것

More information

소규모 비즈니스를 위한 플레이북 여기서 다룰 내용은 다음과 같습니다. 1. YouTube 소개 2. YouTube에서 비즈니스를 위한 채널 만들기 3. 눈길을 끄는 동영상 만들기 4. 고객의 액션 유도하기 5. 비즈니스에 중요한 잠재고객에게 더 많이 도달하기

소규모 비즈니스를 위한 플레이북 여기서 다룰 내용은 다음과 같습니다. 1. YouTube 소개 2. YouTube에서 비즈니스를 위한 채널 만들기 3. 눈길을 끄는 동영상 만들기 4. 고객의 액션 유도하기 5. 비즈니스에 중요한 잠재고객에게 더 많이 도달하기 소규모 비즈니스를 위한 YouTube 플레이북 YouTube에서 호소력 있는 동영상으로 고객과 소통하기 소규모 비즈니스를 위한 플레이북 여기서 다룰 내용은 다음과 같습니다. 1. YouTube 소개 2. YouTube에서 비즈니스를 위한 채널 만들기 3. 눈길을 끄는 동영상 만들기 4. 고객의 액션 유도하기 5. 비즈니스에 중요한 잠재고객에게 더 많이 도달하기

More information

컴파일러

컴파일러 YACC 응용예 Desktop Calculator 7/23 Lex 입력 수식문법을위한 lex 입력 : calc.l %{ #include calc.tab.h" %} %% [0-9]+ return(number) [ \t] \n return(0) \+ return('+') \* return('*'). { printf("'%c': illegal character\n",

More information