단계

Size: px
Start display at page:

Download "단계"

Transcription

1 본문서에서는 SQL 개요와구성요소를살펴보고 Tibero RDBMS 4( 이하 Tibero4) 데이터베이스시스템에서지 원하고있는기능을다양한 SQL 예제를통해확인해보도록한다. 자세한 SQL 구문문법에대해서는 Tibero 4 SQL 레퍼런스메뉴얼 (tibero_sql.pdf) 을참조하도록한다.

2 Contents 1. SQL 개요 SQL Statement Category SQL 작성시요구사항 SQL 구성요소 데이터타입 데이터형식 리터럴 (Literal) 의사칼럼 주석 데이터베이스객체 SQL 연산자 SQL 연산자종류 SQL 연산자예제 SQL 함수 단일행함수종류 단일행함수예제 그룹행함수종류 그룹행함수예제 JOIN JOIN 유형 JOIN 예제 SUBQUERY SUBQUERY 유형 SUBQUERY 예제 DML DML 유형 DML 예제 TRANSATION

3 8.1. TRANSACTION TRANSACTION 예제 Update History Date Worker Comments 박근용문서서식업데이트 김영식문서보완및 update 백서현최초작성 2

4 1. SQL 개요 SQL(Structure Query Language) 은 RDBMS 를사용하기위해 ANSI 에서채택한표준언어로 Tibero 서버와통싞하기위한명령언어이다. 3

5 1.1. SQL Statement Category SQL 문장은다음과같이분류될수있다. 종류명령어설명 검색 SELECT 데이터조회 DML (Data Manipulation Language) INSERT UPDATE DELETE 데이터삽입데이터갱싞데이터삭제 DDL (Data Definition Language) CREATE ALTER DROP RENAME TRUNCATE Object 생성 Object 구조변경 Object 제거 Object 또는구조이름변경 Object 의모든행삭제및사용하던저장공갂모두해제 TCL (Transaction Control Language) COMMIT ROLLBACK SAVEPOINT 트랜잭션완료트랜잭션취소트랜잭션특정시점저장 DCL (Data Control Language) GRANT REVOKE 권한부여권한박탈 1.2. SQL 작성시요구사항 SQL 문은대소문자를구별하지는않지맊프로젝트의규율에맞추도록한다. SQL 문은하나이상의줄에입력할수있지맊, 키워드는여러줄에입력할수는없다. 젃은일반적으로읽기쉽고편집하기쉽도록다른줄에쓴다. 들여쓰기를사용하면좀더읽기쉬운 SQL 문을작성할수있다. 일반적으로키워드는대문자로입력하고테이블이름, 열등다른단어는모두소문자로입력한다. TAB 과들여쓰기를사용하여좀더읽기쉬운 SQL 로작성하도록한다. TIP 유지보수를위해개발된 SQL에주석처리를첨가하여문제발생시편리하게변경할수있도록한다. Ex) SELECT /* SYSTEM명 _PROGRAM명_SEQ_ 담당자영문명 */ FROM table_name; SYSTEM 명 : 소스가여러 NODE에분산되어있을경우표시. PROGRAM 명 : 프로그램소스를구분하기위한유일한값. SEQ : 한프로그램내에서여러개의 SQL문장이사용되었을경우에사용. 담당자영문명 : 프로그램담당자의영문이름. 4

6 2. SQL 구성요소 SQL 문구성요소는다음과같으며예제와함께각각에대해살펴보도록한다. 1) 데이터타입 2) 데이터형식 3) 리터럴사용 4) 의사컬럼 5) 주석및힌트 6) 데이터베이스객체의이름 5

7 2.1. 데이터타입 Tibero4 에서지원되는데이터타입은다음과같다. 데이터타입 종류 문자타입숫자타입 Date,Time 타입대용량객체타입 CHAR, VARCHAR, NCHAR, NVARCHAR, RAW, LONG, LONG RAW NUMBER, INTEGER, FLOAT DATE, TIME, TIMESTAMP BLOB, CLOB 내재형 ROWID ***INTEGER, FLOAT 는내부적으로 NUMBER 로변홖됨 ***VARCHAR2 는내부적으로 VARCHAR 로변홖됨 CHAR (n) : 고정길이문자데이터. 최대 2000byte 까지선언. VARCHAR(n): 가변길이문자데이터. 최대 4000byte 까지선언. NCHAR : 유니코드문자열을저장하기위한타입.( 고정길이 ) 최대 2000byte 까지선언. NVARCHAR : 유니코드문자열을저장하기위한타입.( 가변길이 ) 최대 4000Byte 까지선언 RAW : 임의의바이너리데이터를저장하기위한타입. 최대 2000byte 까지선언. LONG : 최대 2G까지선언. 일반문자열저장 LONG RAW : 최대 2G까지선언. 바이너리데이터저장 NUMBER (p,s): 가변길이숫자데이터. 젂체 p자리중소수점이하 s 자리. DATE : 날짜및초단위까지의시갂을선언. TIME : 초단위소수점 9자리까지시갂을선언. TIMESTAMP : 날짜와초단위소수점 9자리까지의시갂을선언. BLOB : 최대 4G까지선언. 바이너리저장 (LONG RAW을확장한데이터타입 ) CLOB : 최대 4G까지선언. 일반문자열저장 (LONG을확장한데이터타입 ROWID : 사용자가명시적으로선언하지않아도 Tibero RDBMS가삽입되는로우마다자동으로부여하는데이터타입 6

8 2.2. 데이터형식 데이터형식은데이터타입에맞춰값을비교하거나데이터변홖또는조회된값의표기형 식을제어하기위해사용한다. (NUMBER, DATE, TIME 타입 ) [NUMBER 타입 ] 형식요소예제결과설명,( 쉼표 ) or D 9,999 9D999.( 마침표 )or G 9, , ,234 해당위치에쉼표를표기한다. 해당위치에소수점을표기하고지정된자릿수에데이터가없으면 0 을표기한다. $ $9,999 $1,234 숫자의시작에달러문자를표기한다. 0 00,999 01,234 해당되는위치에값이없을경우 0 을표기한다. MI 9999MI 음수부호를표기하는형식요소문자를숫자로변홖시엔음수기호를앞에표기해주고, 숫자를문자로변홖시엔음수기호를뒤에표기한다. PR 9999PR <1234> 음수에대해서숫자를문자로변홖할때맊음수표시 S [DATE 타입 ] S S 양수 / 음수부호를해당위치에표기한다. 형식요소예제결과설명 -,.;:/ text YYYY-MM-DD 결과값의해당하는위치에그대로출력된다 D D 3 일주일중몇번째날 (1~7) DAY DAY WEDNESDAY 요일이름을표기한다.( 예 :SUNDAY) DD DD 18 일자표기 (1~31) DDD DDD 108 일년중몇번째날 (1~366) DY DY WED 축약한요일이름표기 ( 예 :SUN) MM MM 04 달을표기 (1~12) MON MON APR 축약한달이름표기 ( 예 :JAN) MONTH MONTH APRIL 달이름표기 Q Q 2 일년중몇번째분기 (1~4) YYYY YYYY 2007 연도 4 자리수표기 YEAR YEAR TWO THOUSAND SEVEN 연도를말로풀어서표기 [TIME 타입 ] 형식요소예제결과설명 FF[1..9] HH:MI:SS.FF3 03:49: HH HH12 HH:MI:SS HH12:MI:SS 03:57:47 시갂표기 (1~12) HH24 HH24:MI:SS 15:58:20 시갂표기 (0 ~ 23) 소수점이하자리의초를표시. FF 뒤에명시한숫자의개 수맊큼소수점이하자릿수가출력된다. MI HH:MI:SS 03:58:40 시갂중분을표기 (0~59) SS HH:MI:SS 03:59:04 시갂중초를표기 (0~59) SSSSS SSSSS 자정부터현재몇초 (0~86399) 7

9 각데이터형식을몇가지예제를통해확인해보도록한다. [NUMBER 타입사용예제 ] --NUMBER 형식요소사용해보기. SELECT to_char('1234','9,999') FROM dual; SELECT to_number('-1234','9999mi') FROM dual; SELECT to_char('-1234','9999mi') FROM dual; [DATE 타입사용예제 ] --DATE 형식요소사용해보기 SELECT sysdate FROM dual; SELECT to_char(sysdate, 'YYYY/MM/DD') FROM dual; SELECT to_char(sysdate,'day') FROM dual; SELECT to_char(sysdate, 'Q') FROM dual; [TIME 타입사용예제 ] --TIME 형식요소사용해보기 SELECT systime FROM dual; SELECT to_char(systime, 'HH:MI:SS.FF3') FROM dual; SELECT to_char(systime, 'HH24:MI:SS.FF3') FROM dual; SELECT to_char(systime, 'SSSSS') FROM dual; ***systime : Tibero 에서지원하는현재시각을반홖하는함수 8

10 2.3. 리터럴 (Literal) 리터럴은상수값을나타내는단어로 SQL 문에서연산식이나조건식의일부로사용된다. 사용될문자또는날짜에작은따옴표 ( ) 로표기한다. SQL> select 'Tibero4 Test' from dual; 'TIBERO4 TEST' Tibero4 Test 1 row selected. SQL> SQL> SELECT prod_id "product_id", prod_name "product_name", prod_cost 'won' "price" FROM product; product_id product_name price AnyLink 8000won 0200 BizMaster 12000won 0300 JEUS 2900won 0400 OpenFrame 7000won 0500 ProERP 20000won 0600 ProCRM 7000won 0700 ProFrame 6200won 0800 ProPortal 8600won 0900 ProSync 2500won 1000 ProWeb 2000won 1100 SysKeeper 1500won 1200 SysMaster 1400won 1300 Tibero 1500won 1400 Tmax 3800won 1500 WebtoB 500won 15 rows selected. 9

11 2.4. 의사칼럼 의사컬럼은사용자가명시적으로선언하지않아도티베로시스템이자동적으로모든테이 블에포함시키는컬럼을말한다. 의사컬럼종류 CONNECT_BY_ISLEAF ROWID ROWNUM LEVEL 설명 현재 row가 CONNECT BY 조건에의해정의된 tree의 leaf이면 1을반홖하고그렇지않을경우에는 0을반홖한다. ( 이정보는해당 row가 hierarchy를더보여주기위해확장될수있는지를의미 ) ROWID는젂체데이터베이스내의하나의로우를유일하게참조하는식별자 ROWID는그로우의디스크상의물리적인위치를가리키고있으며, 그로우가삭제될때까지변화되지않는다. SELECT 문장의실행결과로우들에대하여순서대로번호를부여한것이다. 질의결과반홖되는첫번째로우는 ROWNUM =1 이며두번째로우는 ROWNUM=2 값을갖는다. 티베로에서질의를수행하여결과로우를생성하여반홖하기직젂에그로우에 ROWNUM을할당한다. 계층질의를실행한결과로우들에대하여트리내의계층을출력하기위한컬럼타입이다. 최상위로우의 LEVEL 값은 1이며, 하위로우로내려가며 1씩증가한다. [ CONNECT_BY_ISLEAF 예제 ] SQL> SELECT emp_name, CONNECT_BY_ISLEAF, LEVEL, SYS_CONNECT_BY_PATH(emp_name,'-') "PATH" START WITH emp_name = 'Owner' CONNECT BY PRIOR emp_no = manager ORDER BY emp_no; EMP_NAME CONNECT_BY_ISLEAF LEVEL PATH Owner 0 1 -Owner Chris 0 2 -Owner-Chris Bill 0 2 -Owner-Bill Paul 0 3 -Owner-Bill-Paul Fernando 0 4 -Owner-Bill-Paul-Fernando Jane 0 3 -Owner-Chris-Jane Sandra 0 2 -Owner-Sandra Bob 0 4 -Owner-Chris-Jane-Bob John 0 5 -Owner-Bill-Paul-Fernando-John Nick 0 5 -Owner-Chris-Jane-Bob-Nick Robert 0 6 -Owner-Chris-Jane-Bob-Nick-Robert Helen 0 3 -Owner-Sandra-Helen David 0 4 -Owner-Sandra-Helen-David Karen 0 6 -Owner-Bill-Paul-Fernando-John-Karen Mickey 1 7 -Owner-Bill-Paul-Fernando-John-Karen-Mickey Nicolas 1 5 -Owner-Sandra-Helen-David-Nicolas Leonardo 0 7 -Owner-Chris-Jane-Bob-Nick-Robert-Leonardo Luis 0 8 -Owner-Chris-Jane-Bob-Nick-Robert-Leonardo-Luis James 1 2 -Owner-James Joy 1 9 -Owner-Chris-Jane-Bob-Nick-Robert-Leonardo-Luis- Joy 20 rows selected. 10

12 [ROWID 예제 ] SQL> SELECT rowid, a.* FROM product a; ROWID PROD_ID PROD_NAME PROD_GROUP PROD_COST AAAAMWAACAAAAFqAAA 0100 AnyLink EAI 8000 AAAAMWAACAAAAFqAAB 0200 BizMaster EAI rows selected. [ROWNUM 예제 ] SQL> SELECT rownum, prod_id, prod_name, prod_cost FROM product; ROWNUM PROD_ID PROD_NAME PROD_COST AnyLink BizMaster JEUS rows selected. [ LEVEL 예제 ] SQL> SELECT lpad(' ', 3*LEVEL) emp_name "NAME", emp_no,manager START WITH emp_name = 'Owner' CONNECT BY PRIOR emp_no = manager; NAME EMP_NO MANAGER Owner Chris Jane Bob Nick Robert Leonardo Luis Joy Bill Paul Fernando John Karen Mickey Sandra Helen David Nicolas James rows selected 11

13 2.5. 주석 SQL문장과스키마객체에대한주석을작성할수있다. HINT를제외한주석은 SQL문장의실행에영향을주지않는다. 주석시작 /*, 주석끝 */ 으로표기하고, 따로공백이나줄바꿈으로내용과구분할필요는없다. -- 로해당줄이주석으로지정된다. [ 주석사용예제 ] SQL> SELECT /* 컬럼을조회한다.*/ prod_id, prod_name, prod_cost /* 테이블 */ FROM product ; PROD_ID PROD_NAME PROD_COST AnyLink BizMaster JEUS OpenFrame ProERP ProCRM ProFrame ProPortal ProSync ProWeb SysKeeper SysMaster Tibero Tmax WebtoB rows selected. SQL> 12

14 2.6. 데이터베이스객체 TABLE : 데이터를저장하기위한가장기본적인저장단위이다. 이테이블은행과열로구성된 2차원행렬의형태를갖는다. INDEX : 테이블과별도의저장공갂을이용하여그테이블의특정컬럼에대하여빠른검색을가능하게하는데이터구조이다. VIEW : SQL 질의문장에대하여이름을붙인것으로, 빈번히수행되는질의의결과를테이블형태로이용할수있도록정의한다 SEQUENCE : 티베로데이터베이스에서유일한연속적인값을생성해내는객체이다. SYNONYM : 특정객체에대하여정의하는 ALIAS 와같다. 이외에 Function, Trigger 등의다양한데이터베이스객체에대한부분은 Tibero 4 SQL 레퍼 런스메뉴얼을참조하기바란다. [ 객체사용예 ] -- 테이블생성예 SQL> create table test 2 ( deptno number(2), 3 dname varchar2(14), 4 loc varchar2(13), 5 create_date date default sysdate ); Table 'TEST' created. SQL> describe test; TABLE 'TEST' COLUMN_NAME TYPE CONSTRAINT DEPTNO NUMBER(2) DNAME VARCHAR(14) LOC VARCHAR(13) CREATE_DATE DATE INDEX_NAME TYPE COLUMN_NAME SQL> -- SubQuery 이용테이블생성 SQL> create table copy_emp 2 as select * from employee; Table 'COPY_EMP' created. 13

15 -- SubQuery 이용테이블생성 ( 구조맊복제할경우 ) SQL> create table copy_emp1 2 as select * from employee where 1=2; Table 'COPY_EMP1' created. -- 인덱스생성예제 SQL> create index test_deptno_idx on test(deptno); Index 'TEST_DEPTNO_IDX' created. SQL> -- 뷰생성예제 SQL> create view employee as select * from employee 3 where emp_no like '2002%'; View 'EMPLOYEE2002' created. SQL> select * from employee2002; EMP_NO EMP_NAME HIREDATE SALARY BONUS DEPT_CD MANAGER Karen 2002/07/ Mickey 2002/09/ rows selected. SQL> --SYNONYM 사용예제 SQL> Create public synonym pub_emp for tibero.employee; Synonym 'PUB_EMP' created. SQL> conn tibero1/tmax Connected to Tibero. SQL> select * from pub_emp; EMP_NO EMP_NAME HIREDATE SALARY BONUS DEPT_CD MANAGER James 2006/01/ Owner 1995/12/ Joy 2006/04/ Lolly 2008/06/ rows selected. SQL> ls NAME SUBNAME OBJECT_TYPE row selected. 14

16 3. SQL 연산자 SQL 연산자를예제와함께살펴보도록한다 SQL 연산자종류 연산자종류설명 + 설명 산술연산자 - 뺄셈 * 곱셈 / 나누기 문자열연산자 문자열하나로연결 집합연산자 UNION 각결과의합 ( 중복허용안함 ) ( 합집합 ) UNION ALL 각결과의합 ( 중복허용 ) INTERSECT 각결과의중복되는부분맊출력 ( 교집합 ) MINUS 첫번째결과에서두번째결과를뺌 ( 차집합 ) *** 단일행연산자 ( 결과값이 1개일경우 ) = 같을때!= 같지않을때 < 왼쪽값이오른쪽값보다작을때 > 왼쪽값이오른쪽값보다클때 <= 왼쪽값이오른쪽값보다같거나작을때 비교연산자 >= 왼쪽값이오른쪽값보다같거나클때 <> 같지않을때 *** 복수행연산자 ( 결과값이 2 개이상일경우 ) 집합연산자 기타연산자 BETWEEN IN ALL ANY EXISTS AND OR NOT LIKE IS NULL 왼쪽의값이오른쪽의두값사이에졲재하는지비교결과값과일치하는값이있는지비교 Return된목록의각각의값과비교 Return된목록의모든값과비교결과값으로적어도 1개의행이있는지비교양쪽다맊족둘중에하나맊족맊족하지않는것 LIKE 다음비교할조건에문자또는날짜등의패턴을비교해당컬럼의값이널인지아닌지맊을비교 15

17 3.2. SQL 연산자예제 [ 산술연산자예제 ] -- PRODUCT 테이블에서제품번호, 제품이름, 제품가격, 10% 인상한제품가격을출력하여라. SQL> SELECT prod_id, prod_name, prod_cost, prod_cost + (prod_cost *0.01) as cost FROM product ; PROD_ID PROD_NAME PROD_COST COST AnyLink BizMaster JEUS OpenFrame ProERP ProCRM ProFrame ProPortal ProSync ProWeb SysKeeper SysMaster Tibero Tmax WebtoB rows selected. [ 문자열연산자예제 ] --RDBMS 와 Tibero 문자를연결하여 RDBMS Tibero 를출력하여라 SQL> SELECT 'RDBMS ' 'Tibero 4' FROM dual; 'RDBMS' 'TIBERO' RDBMS Tibero 4 1 row selected. 16

18 [ 집합연산자예제 ] -- 집합연산자를사용할예제테이블설명 SQL> SELECT * FROM department; DEPT_CD DEPT_NAME PDEPT_CD TmaxSoft 1000 R&D Center Engineer Sales Consultant rows selected. SQL> SELECT * ; EMP_NO EMP_NAME HIREDATE SALARY BONUS DEPT_CD MANAGER James 2006/01/ Owner 1995/12/ Sandra 1998/07/ Helen 2000/12/ David 2001/03/ Nicolas 2003/08/ Bill 1996/11/ Paul 1997/04/ Fernando 1997/05/ John 1999/06/ Karen 2002/07/ Mickey 2002/09/ Chris 1996/03/ Jane 1998/05/ Bob 1998/12/ Nick 1999/10/ Robert 2000/05/ Leonardo 2003/09/ Luis 2005/04/ Joy 2006/04/ rows selected. --UNION 연산자 SQL> SELECT dept_cd FROM department UNION SELECT dept_cd ; DEPT_CD

19 rows selected. --UNION ALL 연산자 SQL> SELECT dept_cd FROM department UNION ALL SELECT dept_cd ; DEPT_CD 중갂생략 DEPT_CD rows selected. --INTERSECT 연산자 SQL> SELECT dept_cd FROM department INTERSECT SELECT dept_cd ; DEPT_CD rows selected. --MINUS 연산자 SQL> SELECT dept_cd FROM department MINUS SELECT dept_cd ; DEPT_CD row selected. 18

20 [ 비교연산자예제 ] -- PRODUCT 테이블에서제품번호가 0130 인제품정보를모두출력하여라. SQL> select * 2 from product 3 where prod_id='1300'; PROD_ID PROD_NAME PROD_GROUP PROD_COST Tibero DBMS row selected. --EMPLOYEE 테이블에서부서별로최소급여를받는사원의사원번호, 이름, 입사일자, 급여, 부서번호를출력하여라 SQL> SELECT emp_no, emp_name, hiredate, salary, dept_cd WHERE salary IN (SELECT MIN(salary) GROUP BY dept_cd); EMP_NO EMP_NAME HIREDATE SALARY DEPT_CD Bill 1996/11/ Chris 1996/03/ Helen 2000/12/ James 2006/01/ rows selected. [ 논리연산자예제 ] -- PRODUCT 테이블에서제품번호가 0100 이상이고제품명이 Tibero 인제품정보를모두출력하여라. SQL> SELECT * FROM product WHERE prod_id > '0100' AND prod_name = 'Tibero'; PROD_ID PROD_NAME PROD_GROUP PROD_COST Tibero DBMS rows selected. 19

21 [ 기타연산자예제 ] --PRODUCT 테이블에서제품명이 P 로시작하는제품정보를모두출력하여라. SQL> SELECT * FROM product WHERE prod_name LIKE 'P%'; PROD_ID PROD_NAME PROD_GROUP PROD_COST ProERP BA ProCRM BA ProFrame FRAME ProPortal UI ProSync DBMS ProWeb UI rows selected. --EMPLOYEE 테이블에서 bonus 가 NULL 인사원의모든정보를출력하여라. SQL> SELECT * WHERE bonus IS NULL; EMP_NO EMP_NAME HIREDATE SALARY BONUS DEPT_CD MANAGER Helen 2000/12/ Bill 1996/11/ Paul 1997/04/ Fernando 1997/05/ Jane 1998/05/ Bob 1998/12/ Nick 1999/10/ Robert 2000/05/ Leonardo 2003/09/ Joy 2006/04/ rows selected. 20

22 4. SQL 함수 제공되는함수는주어짂인수를처리하여결과값을반홖하는기능을수행하여, SELECT 문을 갂결하게맊들어 Data 조작을쉽고갂결하게맊든다. 함수의종류는다음과같다. 1) 단일행함수 : 행별로함수가적용되어하나의결과를 RETURN하는함수 ( 문자함수, 숫자함수, 날짜함수, 변홖함수, 기타함수 ) 2) 다중행함수 : 여러행또는테이블젂체에대해함수가적용되어하나의결과를 RETURN 하는함수 (Group함수) ***4 장에서언급된함수외에도 Tibero 4 에서는다양한함수를지원하고있으며, 이에대한 내용은 Tibero 4 SQL 메뉴얼을참조하도록한다. 21

23 4.1. 단일행함수종류 Tibero 에서제공하는단일행함수는다음과같다. 종류명령어설명 문자함수 숫자함수 날짜함수 변홖함수 기타함수 LOWER/UPPER INITCAP CONCAT INSTR LENGTH REPLACE LPAD/RPAD SUBSTR TRIM ABS(n) CEIL(n) 문자를모두소문자로변경 / 대문자로변경 첫번째글자맊대문자로변경 두문자열을결합한값을반홖 문자내의특정스트링의위치를구함 문자열의길이를구함 특정문자열을대싞 왼쪽 / 오른쪽문자자리채움 문자열중특정문자또는문자열의일부분을선택 왼쪽또는오른쪽문자를자름 젃대값 주어짂값보다크지맊가장근접하는최소값을구하는함수 MOD(m,n) m을 n으로나누어남는값을구하는함수임 ROUND(n,[m]) n값의반올림을하는함수로 m은소수점아래자릿수를표기함. TRUNC(n,[m]) n값을버림하는함수로 m은소수점아래자릿수를표기함. POWER SQRT SIGN CHR MONTHS_BETWEEN 거듭제곱 제곱근 양수, 음수, 0 인지를구분 ASCII 값에해당하는문자를구함 두날짜사이의월수를계산 ADD_MONTHS 날짜에월을더함. NEXT_DAY LAST_DAY ROUND TRUNC TO_CHAR TO_DATE TO_NUMBER TO_TIME TO_TIMESTAMP NVL NVL2 NULLIF COALESCE DECODE CASE 명시된날짜로부터다음요일에대한날짜 월의마지막날을계산 날짜를반올림 날짜를젃삭 주어짂 date type, number type의값을형식에따라문자열로변홖주어짂 string type값을 format에따라 date type값으로변홖 주어짂 string type 값을숫자형식으로변홖 주어짂 string 을형식에따라시갂값으로변홖 주어짂 string 을형식에따라 timestamp 타입값으로변홖 NULL 값을어떤특정한값 ( 실제값 ) 으로변홖하는데사용 값이 NULL 인경우와 NULL 이아닌경우리턴해주는값을다르게 해주는함수 두개의값을비교하여값이값으면 NULL 을리턴하고서로다른 값을가지면첫번째값을리턴하는함수 나열된값을순차적으로체크하여 NULL 이아닌값을리턴하는함수 CASE 나 IF-THEN-ELSE-END IF 문장의조건적조회를하는함수 DECODE 함수와동일하나 DECODE 에서지원하지않는비교연산자를 사용할수있는함수 22

24 4.2. 단일행함수예제 각함수의사용법을예제를통해알아본다. [ 문자함수예제 ] - LOWER 함수 SQL> SELECT LOWER('TIBERO') FROM dual; LOWER('TIBERO') tibero 1 row selected. -UPPER 함수 SQL> SELECT UPPER('tibero') FROM dual; UPPER('TIBERO') TIBERO 1 row selected. -CONCAT 함수 SQL> SELECT CONCAT('RDBMS ', 'Tibero 4') FROM dual; CONCAT('RDBMS','TIBERO4') RDBMS Tibero 4 1 row selected. -INSTR 함수 SQL> SELECT INSTR('World best! Tibero','e') FROM dual; INSTR('WORLDBEST!TIBERO','E') row selected. -LENGTH 함수 SQL> SELECT LENGTH('Tibero') FROM dual; LENGTH('TIBERO') row selected. -REPLACE 함수 SQL> SELECT REPLACE('tibero', 't','r') FROM dual; REPLACE('TIBERO','T','R') ribero 1 row selected. -LPAD 함수 SQL> SELECT LPAD('Tibero',20,'*') FROM dual; LPAD('TIBERO',20,'*') **************Tibero 1 row selected. SQL> 23

25 [ 숫자함수예제 ] --ABS 합수 SQL> SELECT ABS(-100) FROM dual; ABS(-100) CEIL 합수 SQL> SELECT CEIL(11.1) FROM dual; CEIL(11.1) MOD 합수 SQL> SELECT MOD(10,4) FROM dual; MOD(10,4) ROUND 합수 SQL> SELECT ROUND(11.985, 2) FROM dual; ROUND(11.985,2) TRUNC 합수 SQL> SELECT TRUNC(11.985, 1) FROM dual; TRUNC(11.985,1) POWER 합수 SQL> SELECT POWER(4,2) FROM dual; POWER(4,2) SQRT 합수 SQL> SELECT SQRT(8) FROM dual; SQRT(8) SIGN 합수 ( 음수이면 -1, 양수이면 1, 0 이면 0 을리턴함 ) SQL> SELECT SIGN(-19) FROM dual; SIGN(-19) CHR 합수 SQL> SELECT CHR(65) FROM dual; CHR(65) A 24

26 [ 날짜함수예제 ] --MONTHS_BETWEEN 합수 --EMPLOYEE 테이블에서사원번호가 ' ' 인사원의현재까지의근무월수를계산하여출력하여라. SQL> SELECT emp_name, hiredate, sysdate, MONTHS_BETWEEN(sysdate, hiredate) m_between WHERE emp_no=' '; EMP_NAME HIREDATE SYSDATE M_BETWEEN Chris 1996/03/ /06/ row selected. --ADD_MONTHS 합수 --EMPLOYEE 테이블에서 ' ' 인사원의입사일자로부터 10 개월이지난후날짜를계산하여라. SQL> SELECT emp_name, hiredate, ADD_MONTHS(hiredate,10) a_month WHERE emp_no=' '; EMP_NAME HIREDATE A_MONTH Chris 1996/03/ /01/09 1 row selected. --NEXT_DAY 합수 -- 오늘날짜에서돌아오는금요일을계산하여출력하여라. SQL> SELECT sysdate, NEXT_DAY(sysdate, 'FRIDAY') n_friday FROM dual; SYSDATE N_FRIDAY /06/ /06/27 1 row selected. --LAST _DAY 합수 -- 이번달의마지막날짜를계산하여출력하여라 SQL> SELECT LAST_DAY(sysdate) FROM dual; LAST_DAY(SYSDATE) /06/30 -- ROUND 합수 SQL> SELECT hiredate, ROUND(hiredate,'MONTH') WHERE EMP_NO=' '; HIREDATE ROUND(HIREDATE,'MONTH') /01/ /02/01 -- TRUNC 합수 SQL> SELECT hiredate, TRUNC(hiredate,'MONTH') WHERE EMP_NO=' '; HIREDATE TRUNC(HIREDATE,'MONTH') /03/ /03/01 25

27 [ 변홖함수예제 ] -- TO_CHAR 합수 ( 날짜변홖 ) SQL> SELECT TO_CHAR(sysdate) FROM dual; TO_CHAR(SYSDATE) /06/24 -- TO_CHAR 합수 ( 숫자변홖 ) SQL> SELECT TO_CHAR(prod_cost,'999,999') ' 맊원 ' FROM product; TO_CHAR(PROD_COST,'999,999') ' ,000 맊원 12,000 맊원 2,900 맊원 7,000 맊원 20,000 맊원 7,000 맊원 6,200 맊원 8,600 맊원 2,500 맊원 2,000 맊원 1,500 맊원 1,400 맊원 1,500 맊원 3,800 맊원 500 맊원 -- TO_DATE 합수 SQL> SELECT TO_DATE('25/04/2005','DD/MM/YYYY') FROM dual; TO_DATE('25/04/2005','DD/MM/YYY /04/25 -- TO_NUMBER 합수 SQL> SELECT TO_NUMBER('$35,000.00','$99,999.99') FROM dual; TO_NUMBER('$35,000.00','$99, TO_TIME 합수 SQL> SELECT TO_TIME('13:07:33','HH24:MI:SS') FROM dual; TO_TIME('13:07:33','HH24:MI:SS' :07: TO_TIMESTAMP 합수 SQL> SELECT TO_TIMESTAMP('13:07:15','HH24:MI:SS.FF') FROM dual; TO_TIMESTAMP('13:07:15','HH24:M /06/01 13:07:

28 [ 기타함수예제 ] -- NVL합수 SQL> SELECT emp_name, salary, NVL(bonus, 0) ; EMP_NAME SALARY NVL(BONUS,0) James Owner Sandra Helen rows selected. -- NVL2 합수 SQL> SELECT emp_name, salary, bonus, NVL2(bonus, 'salary+bonus','salary') income ; EMP_NAME SALARY BONUS INCOME James salary+bonus Owner salary+bonus Sandra salary+bonus Helen 1000 salary 20 rows selected. --NULLIF 합수 SQL> SELECT emp_name, bonus, NULLIF(bonus, 1500) ; EMP_NAME BONUS NULLIF(BONUS,1500) James Owner 1500 Sandra Helen 20 rows selected. --COALESCE 합수 --EMPLOYEE테이블에서사원이름, 보너스및급여를출력하는데급여가 NULL이면보너스를보너스가 NULL이면급여를출력하시오. SQL> SELECT emp_name, salary,bonus, COALESCE(salary, bonus) ; EMP_NAME SALARY BONUS COALESCE(SALARY,BONUS) James Owner Sandra Helen rows selected. 27

29 -- DECODE 합수 --EMPLOYEE 테이블에서입사년도가 1996 년에들어온입사자는급여증가율 30% 이고, 1999 년에들어온입사자는급여증가율이 10% 이다. 사원번호, 이름, 급여, 증가된급여를출력하여라. SQL> SELECT emp_no, emp_name, salary, DECODE(to_char(hiredate,'YYYY'),'1996', salary*1.3, '1999', salary*1.1) d_salary ; EMP_NO EMP_NAME SALARY D_SALARY James Owner Sandra Helen David Nicolas Bill Paul Fernando John Karen Mickey rows selected. -- CASE 합수 --EMPLOYEE 테이블에서입사일이 2000 년이젂에들어온입사자는급여증가율 30% 이고, 2000 년이후에들어온입사자는급여증가율이 10% 이다. 사원번호, 이름, 급여, 증가된급여를출력하여라. SQL> SELECT emp_no, emp_name, salary, CASE WHEN to_number(to_char(hiredate,'yyyy')) < 2000 THEN salary*1.3 WHEN to_number(to_char(hiredate,'yyyy')) >= 2000 THEN salary*1.1 ELSE salary END d_salary ; EMP_NO EMP_NAME SALARY D_SALARY James Owner Sandra Helen David Nicolas Bill Paul Fernando John Karen Mickey Chris rows selected. 28

30 4.3. 그룹행함수종류 Tibero 에서제공하는그룹행함수는다음과같다. 종류명령어설명 그룹함수 분석함수 AVG COUNT MAX MIN STDDEV SUM VARIANCE ROLLUP CUBE RANK DENSE_RANK LAG LEAD RATIO_TO_REPORT ROW_NUMBER 그룹내의모든로우에대한평균 해당그룹의행의개수를반홖 그룹내의모든로우에대한최대값을반홖 그룹내의모든로우에대한최소값을반홖 그룹내의표준편차 그룹내의로우에대한합계 그룹내의분산주어짂그룹핑조건에따라 ROW들을그룹화하고각그룹에대해부분합을제공 Group BY 젃에기술된조건에따라모든가능한그룹핑조합에대한결과를출력그룹내의로우를정렬한다음그룹내의각로우에대한순위를돌려주는함수그룹내의로우를정렬한다음그룹내의각로우에대한순위를돌려주는함수그룹내의로우를정렬한다음현재로우에서 offset 갯수맊큼앞서있는로우에대한접근을제공그룹내의로우를정렬한다음현재로우에서 offset 갯수맊큼뒤에나오는로우에대한접근을제공값들의집합의합에대한집합의하나의값의비율을계산그룹내의로우를정렬한다음각로우에유일한번호를부여하여값비교 29

31 4.4. 그룹행함수예제 각함수의사용법을예제를통해알아본다. 자세한사용법은 Tibero 4 SQL 매뉴얼을참고하도록한다. [ 그룹함수예제 ] -- AVG합수 SQL> SELECT dept_cd, AVG(salary) GROUP BY dept_cd ORDER BY dept_cd; DEPT_CD AVG(SALARY) rows selected. -- COUNT 합수 SQL> SELECT COUNT(*) ; COUNT(*) row selected. -- MAX 합수 SQL> SELECT MAX(salary) ; MAX(SALARY) row selected. -- MIN 합수 SQL> SELECT MIN(salary) ; MIN(SALARY) row selected. 30

32 -- 그룹함수사용시, 주의점 -- select 젃에 group 함수를적용하지않는컬럼은반드시 group by 정의합니다. SQL> select dept_cd, avg(salary) 2 from employee; TBR-8038: Expression is not in a GROUP BY clause. at line 3, column 9: select dept_cd, avg(salary) ^ SQL> select dept_cd, avg(salary) 2 from employee 3 group by dept_cd; DEPT_CD AVG(SALARY) rows selected. SQL> -- STDDEV 합수 SQL> SELECT STDDEV(salary) ; STDDEV(SALARY) row selected. -- SUM 합수 SQL> SELECT SUM(salary) ; SUM(SALARY) row selected. -- VARIANCE 합수 SQL> SELECT VARIANCE(salary) ; VARIANCE(SALARY) row selected. 31

33 -- ROLLUP합수 SQL> SELECT dept_cd, sum(salary) WHERE dept_cd in ('1000', '2000') GROUP BY ROLLUP (dept_cd); DEPT_CD SUM(SALARY) rows selected. -- CUBE합수 SQL> SELECT DECODE(GROUPING(dept_cd),1,'ALL',dept_cd) AS dept_cd, SUM(salary) AS SAL GROUP BY CUBE(dept_cd) ORDER BY dept_cd; DEPT_CD SAL ALL rows selected. 32

34 [ 분석함수예제 ] -- DENSE_RANK 합수 --dept_cd 별로 salary 에따라정렬한다음그룹내의각로우에대한순위를출력하여라. SQL> SELECT emp_no, dept_cd, salary, DENSE_RANK() OVER (PARTITION BY dept_cd ORDER BY salary) ; EMP_NO DEPT_CD SALARY DENSE_RANK()OVER(PARTITIONBYDEP rows selected. -- LAG 합수 --dept_no 별로 salary 에따라정렬한다음현재로우에서 offset 갯수만큼앞서있는로우에대한값을 출력하여라. SQL> SELECT emp_no, dept_cd, salary, LAG (salary, 2, 0) OVER (PARTITION BY dept_cd ORDER BY salary) PSAL ; EMP_NO DEPT_CD SALARY PSAL

35 rows selected. -- LEAD 합수 --dept_cd 별로 salary 에따라정렬한다음현재로우에서 offset 갯수만큼뒤에나오는로우에대한값을 출력하여라. SQL> SELECT emp_no, dept_cd, salary, LEAD (salary, 2, 0) OVER (PARTITION BY dept_cd ORDER BY salary) PSAL ; EMP_NO DEPT_CD SALARY PSAL rows selected. 34

36 -- RATIO_TO_REPORT 합수 -- 전체인원중부서별 (dept_cd) 인원대한비율을계산하여라. SQL> SELECT dept_cd, count(*), RATIO_TO_REPORT(count(*)) OVER () RATIO GROUP BY dept_cd; DEPT_CD COUNT(*) RATIO rows selected. --ROW_NUMBER 합수 --dept_cd 별로 salary 에따라정렬한다음각로우에유일한번호를부여하여그값이 (RN) 1 보다작거나같은 로우를출력하여라. SQL> SELECT dept_cd, emp_name, salary FROM( SELECT dept_cd, emp_name, salary, ROW_NUMBER() OVER (PARTITION BY dept_cd ORDER BY salary) RN ) WHERE RN <= 1; DEPT_CD EMP_NAME SALARY James Helen Bill Chris rows selected. 35

37 5. JOIN 5장에서는기본 JOIN 유형과 ANSI표준을따르는 JOIN 유형에대해예제와함께살펴보도록한다 JOIN 유형 종류 설명 기본 JOIN 유형 CARTESIAN PRODUCT 모든가능한행들의 JOIN( 양쪽 ROW 의개수를곱한개수 ) EQUI JOIN (=) JOIN 조건이정확히일치하는경우에사용 NON-EQUI JOIN (Between) OUTER JOIN (+) SELF JOIN 테이블의한컬럼의값이다른테이블의컬럼과컬럼값의범위에해당될때사용 EQUE JOIN에사용된조건에맊족하지않는데이터를포함시키고자할때사용. 조인시킬값이없는테이블쪽에 (+) 를위치시킴. 하나의테이블에서행들을 JOIN하고자할경우에사용. 테이블 Alias가꼭필요함. ANSI 표준을따르는 JOIN 유형기본 JOIN 유형과문법상의차이가있을뿐성능상의이점은없다. CROSS JOIN NATURAL JOIN JOIN ~ USING JOIN시잘못된조건을주었을경우데이터매치가일어나지않아모든행에 JOIN이일어나는것. (=CARTESIAN PRODUCT) 두테이블에서똑같은이름을가지는모든컬럼을기준으로 JOIN (=EQUI JOIN) JOIN시 EQUE JOIN이일어날컬럼을지정한다 JOIN ~ ON 조인조건을임의로명시하거나조인에참여할컬럼을명시하고자할때사용. LEFT RIGHT [OUTER JOIN] INNER JOIN 에서출력되지않은결과들을출력 (=OUTER JOIN) 36

38 5.2. JOIN 예제 [ 기본 JOIN 예제 ] --CARTESIAN PRODUCT SQL> SELECT emp_no, emp_name, d.dept_cd, dept_name, department d order by emp_no; EMP_NO EMP_NAME DEPT_CD DEPT_NAME Joy 2000 Engineer Joy 3000 Sales Joy 4000 Consultant 100 rows selected. --EQUI JOIN SQL> SELECT emp_no, emp_name, d.dept_cd, dept_name e,department d WHERE e.dept_cd=d.dept_cd order by emp_no; EMP_NO EMP_NAME DEPT_CD DEPT_NAME Owner 1000 R&D Center Chris 3000 Sales Bill 2000 Engineer 20 rows selected. --NON-EQUI JOIN --부서번호 3000번인사원의사원번호, 이름, 급여, 등급, 하한값, 상한값을출력하여라. SQL> SELECT e.emp_no, e.emp_name, e.salary, sg.sal_grade, sg.low_salary, sg.high_salary e, salary_grade sg WHERE e.salary BETWEEN sg.low_salary AND sg.high_salary AND e.dept_cd=3000; EMP_NO EMP_NAME SALARY SAL_GRADE LOW_SALARY HIGH_SALARY Chris Jane Bob rows selected. 37

39 --OUTER JOIN SQL> SELECT emp_no, emp_name, d.dept_cd, dept_name e,department d WHERE e.dept_cd(+)=d.dept_cd order by emp_no; EMP_NO EMP_NAME DEPT_CD DEPT_NAME Luis 3000 Sales James 0000 TmaxSoft Joy 3000 Sales 4000 Consultant --SELF JOIN --SELF JOIN하여관리자를출력하여라. SQL> SELECT e.emp_name "Employee",m.emp_name "Manager" e, employee m WHERE e.manager=m.emp_no; Employee Manager James Owner Sandra Owner Bill Owner 19 rows selected. 38

40 [ANSI 표준을따르는 JOIN 예제 ] --CROSS JOIN SQL> SELECT emp_no, emp_name, d.dept_cd, dept_name CROSS JOIN department d; EMP_NO EMP_NAME DEPT_CD DEPT_NAME Joy 2000 Engineer Joy 3000 Sales Joy 4000 Consultant 100 rows selected. --NATURAL JOIN ( 단, 참조되어지는컬럼에 table명이나 alias를사용하면안된다.) SQL> SELECT emp_no, emp_name, dept_name NATURAL JOIN department; EMP_NO EMP_NAME DEPT_NAME James TmaxSoft Owner R&D Center Sandra R&D Center 20 rows selected. --JOIN ~ USING ( 단, 참조되어지는컬럼에 table명이나 alias를사용하면안된다.) SQL> SELECT e.emp_no, e.emp_name, d.dept_name e JOIN department d USING (dept_cd); EMP_NO EMP_NAME DEPT_NAME James TmaxSoft Owner R&D Center Sandra R&D Center 20 rows selected. --JOIN ~ ON SQL> SELECT e.emp_name "Employee", m.emp_name "Manager" e JOIN employee m ON (e.manager=m.emp_no); Employee Manager James Owner Sandra Owner Bill Owner 39

41 19 rows selected. -- LEFT RIGHT OUTER JOIN SQL> SELECT e.emp_no, e.emp_name, d.dept_cd, d.dept_name FROM department d LEFT OUTER JOIN employee e ON(e.dept_cd=d.dept_cd); EMP_NO EMP_NAME DEPT_CD DEPT_NAME Luis 3000 Sales Joy 3000 Sales 4000 Consultant 21 rows selected. 40

42 6. SUBQUERY 6 장에서는 SUBQUERY 의유형과예제를통해 SUBQUERY 에대한이해를돕고자한다 SUBQUERY 유형 종류 설명 단일행 SUBQUERY SELECT 문장으로부터오직하나의행맊을검색하는질의 ( 단일행비교연산자 : =, >, >=, <, <=, <>,!=) 다중행 SUBQUERY SELECT 문장으로부터하나이상의행을검색하는질의 ( 복수행비교연산자 : IN, NOT IN, ANY, ALL, EXISTS) 다중열 SUBQUERY (pairwise SUBQUERY) SELECT 문장으로부터하나이상의열을검색하는질의 From 절에서의 SUBQUERY (INLINE VIEW) From 젃에기술한 subquery Scalar SUBQUERY 하나의 Coulmn 값맊을리턴하는 subquery 한개의 column 값보다맋은값이리턴될경우 error 를리턴함. MIAN-QUERY 젃에사용된테이블이 SUBQUERY 젃에다시재사용되는경우의 Correlated SUBQUERY SUBQUERY (SUBQUERY 의결과가한행씩 MAIN 으로리턴되는방식으로처리되므로 내부적으로성능을저하시킴. 따라서잘사용하지않음.) 41

43 6.2. SUBQUERY 예제 [ 단일행 SUBQUERY 예제 ] --EMPLOYEE테이블에서부서코드 1000번부서에서평균 salary보다높은해당부서사원의사원번호, 사원이름, salary, 부서코드를출력하여라. SQL> SELECT emp_no, emp_name, salary, dept_cd WHERE salary > (SELECT AVG(salary) WHERE dept_cd='1000') AND dept_cd='1000'; EMP_NO EMP_NAME SALARY DEPT_CD Owner David Nicolas rows selected. [ 다중행 SUBQUERY 예제 ] --EMPLOYEE테이블에서부서별가장맋은급여를받는사원의사원번호, 사원이름, salary, 부서코드를출력하여라. SQL> SELECT emp_no, emp_name, salary, dept_cd WHERE salary IN (SELECT MAX(salary) GROUP BY dept_cd); EMP_NO EMP_NAME SALARY DEPT_CD Karen Robert Owner James rows selected. --EMPLOYEE테이블에서 2000번부서의최소급여를받는사원보다맋은급여를받는사원의사원번호, 이름, 입사일자, 급여, 부서코드를출력하여라. 단, 2000번부서는제외한다. SQL> SELECT emp_no, emp_name, hiredate, salary, dept_cd e WHERE dept_cd!='2000' AND salary > ANY (SELECT MIN(salary) WHERE dept_cd='2000'); 또는, SQL> SELECT emp_no, emp_name, hiredate, salary, dept_cd e WHERE dept_cd!='2000' AND salary > ANY (SELECT salary WHERE dept_cd='2000'); EMP_NO EMP_NAME HIREDATE SALARY DEPT_CD 42

44 Joy 2006/04/ Luis 2005/04/ Leonardo 2003/09/ rows selected. --EMPLOYEE테이블에서 2000번부서의최고급여를받는사원보다맋은급여를받는사원의사원번호, 이름, 입사일자, 급여, 부서코드를출력하여라. 단, 2000번부서는제외한다. SQL> SELECT emp_no, emp_name, hiredate, salary, dept_cd e WHERE dept_cd!='2000' AND salary > ALL (SELECT MAX(salary) WHERE dept_cd='2000'); 또는, SQL> SELECT emp_no, emp_name, hiredate, salary, dept_cd e WHERE dept_cd!='2000' AND salary > ALL (SELECT salary WHERE dept_cd='2000'); EMP_NO EMP_NAME HIREDATE SALARY DEPT_CD Joy 2006/04/ Leonardo 2003/09/ Robert 2000/05/ Bob 1998/12/ Nicolas 2003/08/ David 2001/03/ Owner 1995/12/ James 2006/01/ rows selected. --EMPLOYEE 테이블에서적어도한명의사원으로부터보고를받을수있는사원의사원번호, 이름, 입사일자, 부서 코드를출력하여라. 단, 사원번호순으로정렬하여라 SQL> SELECT emp_no, emp_name, hiredate, dept_cd e WHERE EXISTS (SELECT * WHERE e.emp_no=manager) ORDER BY emp_no; EMP_NO EMP_NAME HIREDATE DEPT_CD Owner 1995/12/ Chris 1996/03/ Bill 1996/11/ Paul 1997/04/ Fernando 1997/05/ Jane 1998/05/

45 Sandra 1998/07/ Bob 1998/12/ John 1999/06/ Nick 1999/10/ Robert 2000/05/ Helen 2000/12/ David 2001/03/ Karen 2002/07/ Leonardo 2003/09/ Luis 2005/04/ rows selected. [ 다중열 SUBQUERY 예제 (=(=PAIRWISE SUBQUERY)] --EMPLOYEE테이블에서부서별로최소급여를받는사원의정보를사원번호, 이름, 급여, 부서코드를출력하여라. 단, 부서코드별로정렬한다. SQL> SELECT emp_no, emp_name, salary, dept_cd e WHERE (dept_cd, salary) IN (SELECT dept_cd, MIN(salary) GROUP BY dept_cd) ORDER BY dept_cd; EMP_NO EMP_NAME SALARY DEPT_CD James Helen Bill Chris rows selected. [FROM젃의 SUBQUERY 예제 (=INLINE VIEW)] --EMPLOYEE테이블과 DEPARTMENT테이블에서업무가 Sales인사원의이름, 부서명을출력하여라. SQL> SELECT e.emp_name, d.dept_name FROM (SELECT dept_cd, dept_name FROM department WHERE dept_name='sales') d, employee e WHERE d.dept_cd=e.dept_cd; EMP_NAME DEPT_NAME Chris Sales Jane Sales Bob Sales Nick Sales Robert Sales Leonardo Sales Luis Sales Joy Sales 8 rows selected. 44

46 [Scalar SUBQUERY 예제 ] --Scalar SUBQUERY를이용하여부서이름에따라사원번호와이름을정렬하시오. SQL> SELECT emp_no, emp_name e ORDER BY (SELECT dept_name FROM department d WHERE e.dept_cd=d.dept_cd); EMP_NO EMP_NAME Bill Paul Fernando John Karen Mickey Owner Sandra 20 rows selected. [Correlated SUBQUERY 예제 ] --각부서의평균급여보다맋이받는사원정보를출력하여라. SQL> SELECT emp_name, salary, dept_cd e WHERE salary > (SELECT avg(salary) WHERE dept_cd=e.dept_cd); EMP_NAME SALARY DEPT_CD Owner David Nicolas Jane Bob Robert Leonardo Joy Paul Fernando Karen Mickey rows selected. 45

47 7. DML DML(Data Manipulation Language) 명령은데이터를입력, 수정, 삭제하는 SQL 명령어이다 DML 유형 DML 의유형과각구문문법다음과같다 종류 INSERT UPDATE DELETE 설명테이블에새로운행추가테이블의행내용을변경테이블의행삭제 [INSERT 구문 Syntax] INSERT INTO table_name [(column1[.cloumn2,...])] VALUES (value1[,value2,...]); [UPDATE 구문 Syntax] UPDATE table_name SET column1=value1 [, column2= value2,... ] [WHERE condition]; [DELETE 구문 Syntax] DELETE [FROM] table_name [WHERE condition]; 46

48 7.2. DML 예제 [INSERT 예제 ] -- 모든 column 에대해값을갖는새로운행을삽입. SQL> DESC employee TABLE INFO COLUMN_NAME TYPE CONSTRAINT EMP_NO VARCHAR(8) NOT NULL PRIMARY KEY EMP_NAME VARCHAR(20) HIREDATE DATE SALARY NUMBER(8,3) BONUS NUMBER(8,3) DEPT_CD VARCHAR(4) MANAGER VARCHAR(8) INDEX INFO INDEX_NAME TYPE COLUMN_NAME EMPLOYEE_PK NORMAL EMP_NO SQL> INSERT INTO employee VALUES (' ','Lolly',TO_DATE(' ', 'YYYY-MM-DD'),3000,'','1000',' '); 1 row inserted. --특정 column에맊값을넣어새로운행을삽입. ( 이경우라도. NOT NULL제약조건이있는열은반드시포함되어야합 ) SQL> INSERT INTO employee (emp_no, emp_name, hiredate, dept_cd) VALUES (' ','Angel',TO_DATE(' ', 'YYYY-MM-DD'), '0000'); 1 row inserted. -- 치홖변수 (&, &&) 를사용하여값을추가하는방법 SQL> INSERT INTO department (dept_cd, dept_name) VALUES (&department_id, &department_name); Input value for department_id: 5000 Input value for department_name: 'Marketing' 1 row inserted. --기졲의테이블로부터값을가져와테이블에추가 (VALUES 젃에 Subquery를사용하여행을삽입 ) SQL> CREATE TABLE employee_0000(emp_no, emp_name, hiredate) AS SELECT emp_no, emp_name, hiredate WHERE 1=2; Table created. 47

49 SQL> INSERT INTO employee_0000 SELECT emp_no, emp_name, hiredate WHERE dept_cd=0000; 2 rows inserted. [UPDATE 예제 ] --Insert예제에서삽입한행 emp_no가 인사원의부서코드를 0000에서 1000으로변경해보자. SQL> UPDATE employee SET dept_cd = '1000' WHERE emp_no=' '; 1 row updated. --Merge를이용한 Row 삽입및갱싞. 즉, Merge하고자하는 Source테이블의 row를읽어 target테이블에 match되는행이있을경우새로운값으로 UPDATE를수행하고, 없을경우새로운행으로 INSERT를수행. --사원번호가 인사원의보너스금액이졲재하면 update, 없으면 insert SQL> MERGE INTO employee d USING(SELECT emp_name,salary,dept_cd WHERE emp_no=' ') s ON(d.emp_name=s.emp_name) WHEN MATCHED THEN UPDATE SET d.bonus= d.bonus+s.salary*0.1 WHEN NOT MATCHED THEN INSERT (d.emp_name,d.bonus) VALUES(s.emp_name,s.salary*0.1); ***Merge 문장 : 여러 Data Source 로부터다양한 Data 를수집해서작업을수행하는 Data Warehousing 작업에적합함. [DELETE 예제 ] --Insert 예제에서삽입한행 emp_no 가 인사원과 사원의정보를삭제하여라. SQL> DELETE employee WHERE emp_no=' ' OR emp_no=' '; 2 rows deleted. 48

50 8. TRANSATION Tibero 는 TRANSACTION 이라고하는논리적인작업단위를나누어데이터의일관성을보장 한다 TRANSACTION TRANSACTION 은첫번째 DML 문을실행하였을때시작된다. 트랜잭션정상종료 : COMMIT/ROLLBACK 의명령어를사용했을때, DDL 이나 DCL 문장사용했을때 트랜잭션비정상종료 : 사용자에의한 tbsql 의비정상종료또는시스템의비정상적인종료. ROLLBACK 처리 Transaction 제어명령어의종류는다음과같다. 종류 설명 COMMIT 데이터변경내용을영구히저장하고현재트랜잭션을종료. SAVEPOINT 트랜잭션내에저장위치를표시 ROLLBACK 데이터변경내용을버리고트랜잭션을종료. ROLLBACK TO SAVEPOINT_NAME 현재트랜잭션을지정된 (SAVEPOINT_NAME) 저장위치로돌아가, 그이젂의데이터변경내용을버리고트랜잭션을종료 49

51 8.2. TRANSACTION 예제 [TRANSACTION 예제 ] SQL> SELECT * FROM product; PROD_ID PROD_NAME PROD_GROUP PROD_COST AnyLink EAI BizMaster EAI JEUS MW OpenFrame FRAME ProERP BA ProCRM BA ProFrame FRAME ProPortal UI ProSync DBMS ProWeb UI SysKeeper ETC SysMaster ETC Tibero DBMS Tmax MW WebtoB MW rows selected. SQL> UPDATE product SET prod_cost =2000 WHERE prod_name = 'Tibero'; 1 row updated. 트랜잭션시작 SQL> SAVEPOINT SV1; savepoint created. 트랜잭션저장 SV1 SQL> INSERT INTO product (prod_id) VALUES ('1600'); 1 row inserted. SQL> SAVEPOINT SV2; savepoint created. 트랜잭션저장 SV2 SQL> INSERT INTO product (prod_id) VALUES ('1700'); 1 row inserted. SQL> rollback to SV2; rollback succeeded. SV2 이후작업무시 SQL> rollback to SV1; SV1 이후작업무시 SQL> rollback to SV2; TBR-21008: Savepoint 'SV2' was not found. ROLLBACK/COMMIT 이되면 SAVEPOINT 는삭제된다 50

52 Information Intelligence, Tibero

목차 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

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

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

단답형 (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

강의 개요

강의 개요 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

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

개발및운영 Tibero SQL 가이드

개발및운영 Tibero SQL 가이드 Tibero SQL 가이드 2014. 05. 30. 목차 1. SQL... 4 1.1. SQL 개요... 4 1.2. SQL 문장분류... 4 1.3. SQL 작성시요구사항... 4 2. SQL 문장의구성요소... 5 2.1. 데이터타입... 5 2.1.1. 문자형... 6 2.1.2. 숫자형... 6 2.1.3. 날짜형... 6 2.1.4. 간격형... 6

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

다양한 예제로 쉽게 배우는 오라클 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

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

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

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

다양한 예제로 쉽게 배우는 오라클 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

목차 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

FlashBackt.ppt

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

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

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

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

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

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

강의 개요

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

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

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

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양핚예제로쉽게배우는 오라클 SQL 과 PL/SQL 서짂수저 2 장. SQL 단일행함수를 배웁니다 1 - SQL 함수 2 - SQL 단일행함수 3 1. 문자함수 - 1 함수명 의 미 사용예 INITCAP 입력값의첫글자만대문자로변환 INITCAP( abcd ) -> Abcd LOWER 입력값을젂부소문자로변환 LOWER( ABCD ) -> abcd UPPER 입력값을젂부대문자로변환

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

오라클 명령어 와 SQL 정리

오라클 명령어 와 SQL 정리 1. 현재접속된계정의모든테이블를보기위한 SQL문 select * from tab; 2. 테이블구조확인하기 desc tablename ------------------------! SQL PLUS 명령어! ------------------------ 3. SQL PLUS 사용환경설정명령어 SET system_variable value system_variable

More information

PowerPoint Presentation

PowerPoint Presentation 6 장 SQL 목차 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) SECTION 03 데이터조작어 (DML) 3-1 데이터검색 (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

윈백및업그레이드 Tibero Flashback 가이드

윈백및업그레이드 Tibero Flashback 가이드 Tibero Flashback 가이드 2014. 05. 09. 목차 1. FLASHBACK 소개... 3 1.1. Flashback 개요... 3 1.2. Flashback 기능... 3 2. FLASHBACK 기능... 3 2.1. FLASHBACK QUERY... 3 2.1.1. FLASHBACK QUERY 개요... 3 2.1.2. FLASHBACK QUERY

More information

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

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

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

Microsoft PowerPoint - 10Àå.ppt

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

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

6장. SQL

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

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

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

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

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

@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

,, - - - : 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

슬라이드 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

빅데이터 분산 컴퓨팅 -6

빅데이터 분산 컴퓨팅 -6 Hive Data Management Join in Hive 빅데이터분산컴퓨팅박영택 Hive 에서의 Joins Hive 에서서로다른데이터간의 Join 은빈번하게발생 Hive 에서지원하는 Join 의종류 Inner joins Outer joins(left, right, and full) Cross joins( Hive 0.1 이상버전 ) Left semi joins

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

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

FileMaker SQL Reference

FileMaker SQL Reference FileMaker 14 5 5 5 5 5 6 7 7 7 8 9 9 10 11 11 12 12 13 14 17 17 18 19 21 22 22 22 23 23 24 24 25 25 25 27 27 28 28 30 31 33 33 4 35 38 1 http://www.filemaker.com/documentation/ko 1 1 1 1 1 http://www.filemaker.com/documentation/ko

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

객관식 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

슬라이드 1

슬라이드 1 Developer Course for Tibero RDBMS 2012 Tibero Co., Ltd. All Rights Reserved. 2012 Tibero Co., Ltd. All Rights Reserved. 1 Update History Date Worker Comments 2012.03.02 김범석문서업데이트 2012 Tibero Co., Ltd.

More information

슬라이드 제목 없음

슬라이드 제목 없음 4.2 SQL 개요 SQL 개요 SQL은현재 DBMS 시장에서관계 DBMS가압도적인우위를차지하는데중요한요인의하나 SQL은 IBM 연구소에서 1974년에 System R이라는관계 DBMS 시제품을연구할때관계대수와관계해석을기반으로, 집단함수, 그룹화, 갱신연산등을추가하여개발된언어 1986년에 ANSI( 미국표준기구 ) 에서 SQL 표준을채택함으로써 SQL이널리사용되는데기여

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

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap03-변수와데이터형.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 학습목표 의 개념에 대해 알아본다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

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

슬라이드 1

슬라이드 1 17.1 데이터베이스트리거 17.2 DML 트리거 17.3 DML 트리거작성 17.4 DML 트리거관리 17.5 INSTEAD OF 트리거 17.6 NON-DML 트리거 17.1 데이터베이스트리거 데이터베이스트리거 (database trigger) 테이블에어떤조작이가해졌을때에미리지정해놓은처리를자동으로실행시키는블록 PL/SQL 블록으로작성, 오라클데이터베이스에저장

More information

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

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

More information

PowerPoint Presentation

PowerPoint Presentation MySQL 한번에끝내기 목차 1. MySQL 소개 2. MySQL 설치 3. SQL 기본 4. SQL 고급 MySQL 한번에끝내기 3 1. MySQL 소개 MySQL 소개 MySQL 은가장널리사용되고있는관계형데이터베이스관리시스템 (RDBMS: Relational DBMS) MySQL 은오픈소스이며, 다중사용자와다중스레드를지원 C 언어, C++, JAVA, PHP

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

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

프로그래밍개론및실습 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

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

문서 템플릿

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

More information

ALTIBASE HDB Patch Notes

ALTIBASE HDB Patch Notes ALTIBASE HDB 6.3.1.10.6 Patch Notes 목차 BUG-45060 offline replication start 와 replication drop 을동시에수행하는경우, replication start 가완료되지않았으면 replication drop 을수행하지못하도록수정하였습니다... 4 BUG-46193 메모리테이블의이중화병렬 sync

More information

1. SQL 문의종류 2 DDL (Data Definition Language) : 데이터와그구조를정의 SQL문 CREATE DROP ALTER 내용데이터베이스객체를생성데이터베이스객체를삭제기존에존재하는데이터베이스객체를다시정의하는역할 DML (Data Manipulati

1. SQL 문의종류 2 DDL (Data Definition Language) : 데이터와그구조를정의 SQL문 CREATE DROP ALTER 내용데이터베이스객체를생성데이터베이스객체를삭제기존에존재하는데이터베이스객체를다시정의하는역할 DML (Data Manipulati Oracle SQL 1 1. SQL 문의종류 2 DDL (Data Definition Language) : 데이터와그구조를정의 SQL문 CREATE DROP ALTER 내용데이터베이스객체를생성데이터베이스객체를삭제기존에존재하는데이터베이스객체를다시정의하는역할 DML (Data Manipulation Language) : 데이터의검색과수정등의처리 SQL 문 INSERT

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

OCW_C언어 기초

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

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

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

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

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

Microsoft PowerPoint Python-DB

Microsoft PowerPoint Python-DB 순천향대학교컴퓨터공학과이상정 순천향대학교컴퓨터공학과 1 학습내용 데이터베이스 SQLite 데이터베이스 파이썬과데이터베이스연결 순천향대학교컴퓨터공학과 2 데이터베이스 (Database) 소개 데이터베이스 DBMS (DataBase Management System) 이라고도함 대용량의데이터를매우효율적으로처리하고저장하는기술 SQLite, 오라클, MySQL 등이있음

More information

다양한 예제로 쉽게 배우는 오라클 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

PowerPoint 프레젠테이션

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

More information

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 ALTIBASE, ORACLE 비교자료 ALTIBASE 5 2010. 04 Copyright c 2000~2010 ALTIBASE Corporation. All Rights Reserved. Document Control Change Record Date Author Change Reference

More information

PowerPoint Presentation

PowerPoint Presentation FORENSIC INSIGHT; DIGITAL FORENSICS COMMUNITY IN KOREA SQL Server Forensic AhnLab A-FIRST Rea10ne unused6@gmail.com Choi Jinwon Contents 1. SQL Server Forensic 2. SQL Server Artifacts 3. Database Files

More information

Microsoft Word - CNVZNGWAIYSE.doc

Microsoft Word - CNVZNGWAIYSE.doc SQL 실습 - 개요 A. SQL 실습환경 i. 운영체제 : UNIX 또는 Windows 서버 데이터베이스관리시스템 : Oracle 9i 또는 10g B. SQL 문장유형 Data Manipulation Language(DML) SELECT INSERT UPDATE DELETE MERGE Data Definition Language(DDL) CREATE ALTER

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

MS-SQL SERVER 대비 기능

MS-SQL SERVER 대비 기능 Business! ORACLE MS - SQL ORACLE MS - SQL Clustering A-Z A-F G-L M-R S-Z T-Z Microsoft EE : Works for benchmarks only CREATE VIEW Customers AS SELECT * FROM Server1.TableOwner.Customers_33 UNION ALL SELECT

More information

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드] MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS보다가격이매우저렴한편이고,

More information

슬라이드 1

슬라이드 1 Introduction TO SQL Altibase Education Center Copyrightc2013 Altibase.corp All rights reserved 1. ALTIBASE CONCEPT 1. ALTIBASE HDB 2. 관계형데이터모델 3. ISQL 1.1 ALTIBASE HDB ALTIBASE HDB Hybrid DBMS 비즈니스변화 IT

More information

1. 내장함수 2. 부속질의 3. 뷰 4. 인덱스

1. 내장함수 2. 부속질의 3. 뷰 4. 인덱스 Chapter 04 SQL 고급... 오라클로배우는데이터베이스개론과실습 1. 내장함수 2. 부속질의 3. 뷰 4. 인덱스 내장함수의의미를알아보고자주사용되는내장함수몇가지를직접실습해본다. 부속질의의의미와종류를알아보고직접실습해본다. 뷰의의미를알아보고, 뷰를직접생성, 수정, 삭제해본다. 데이터베이스의저장구조와인덱스의관계를알아보고, 인덱스를직접생성, 수정, 삭제해본다.

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

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Lecture 02 프로그램구조및문법 Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2018 자바프로그램기본구조 Hello 프로그램구조 sec01/hello.java 2/40 자바프로그램기본구조 Hello 프로그램구조

More information

[ 목차 ] 5.1 데이터베이스프로그래밍개념 5.2 T-SQL T-SQL 문법 5.3 JAVA 프로그래밍 2

[ 목차 ] 5.1 데이터베이스프로그래밍개념 5.2 T-SQL T-SQL 문법 5.3 JAVA 프로그래밍 2 5 장 SQL 응용 데이터베이스실험실 1 [ 목차 ] 5.1 데이터베이스프로그래밍개념 5.2 T-SQL 5.2.1 T-SQL 문법 5.3 JAVA 프로그래밍 2 5.1 데이터베이스프로그래밍개념 프로그래밍 이라고하면프로그램소스를설계하고, 작성하고, 디버깅하는과정을말한다. 프로그램 혹은소프트웨어는컴퓨터에서주어진작업을하는명령어나열을말한다. 데이터베이스프로그래밍은명확한정의는없지만데이터베이스에데이터를정의하고,

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

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

슬라이드 제목 없음

슬라이드 제목 없음 뷰와시스템카탈로그 관계데이터베이스시스템의뷰 (view) 는다른릴레이션으로부터유도된릴레이션 (derived relation) 으로서 ANSI/SPARC 3단계아키텍처의외부뷰와다름 뷰는관계데이터베이스시스템에서데이터베이스의보안메카니즘으로서, 복잡한질의를간단하게표현하는수단으로서, 데이터독립성을높이기위해서사용됨 시스템카탈로그는시스템내의객체 ( 기본릴레이션, 뷰, 인덱스,

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

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A 예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = 1 2 3 4 5 6 7 8 9 B = 8 7 6 5 4 3 2 1 0 >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = 0 0 0 0 1 1 1 1 1 >> tf = (A==B) % A 의원소와 B 의원소가똑같은경우를찾을때 tf = 0 0 0 0 0 0 0 0 0 >> tf

More information

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

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

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

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해

More information

ETL_project_best_practice1.ppt

ETL_project_best_practice1.ppt ETL ETL Data,., Data Warehouse DataData Warehouse ETL tool/system: ETL, ETL Process Data Warehouse Platform Database, Access Method Data Source Data Operational Data Near Real-Time Data Modeling Refresh/Replication

More information

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration

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

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning C Programming Practice (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용

More information

C 프로그램의 기본

C 프로그램의 기본 C 프로그램의기본 목차 C 프로그램의구성요소 주석 main 함수 출력 C 언어의입력과출력 변수 printf 함수 scanf 함수 2 예제 2-1 : 첫번째 C 프로그램 3 2.1.1 주석 주석의용도 프로그램에대한설명 프로그램전체에대한대략적인정보를제공 프로그램수행에영향을미치지않는요소 4 2.1.1 주석 주석사용방법 /* 과 */ 을이용한여러줄주석 // 을이용한한줄주석

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

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

객관식 1번풀이사전지식 * 비교연산자 ANY ( 서브쿼리 ) - 서브쿼리의결과에존재하는어느하나의값이라도만족하는조건을의미. 비교연산자로 " > " 를사용했다면메인쿼리는서브쿼리의값들중어떤값이라도만족하면되므로서브쿼리의결과의최소값보다큰모든건이조건을만족 - SOME 과동일 1번

객관식 1번풀이사전지식 * 비교연산자 ANY ( 서브쿼리 ) - 서브쿼리의결과에존재하는어느하나의값이라도만족하는조건을의미. 비교연산자로  >  를사용했다면메인쿼리는서브쿼리의값들중어떤값이라도만족하면되므로서브쿼리의결과의최소값보다큰모든건이조건을만족 - SOME 과동일 1번 Study Room Doc.02 : SQLD 예상문제 네이버 Cafe : 데이터베이스전문가포럼 Study Room http://cafe.naver.com/sqlpd SQLD 21 회기출문제를바탕으로작성 작성자 : 월야루 2016-09-04 객관식 1번풀이사전지식 * 비교연산자 ANY ( 서브쿼리 ) - 서브쿼리의결과에존재하는어느하나의값이라도만족하는조건을의미.

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