데이터 베이스 설계 및 실습 #3 - SQL 함수.

Slides:



Advertisements
Similar presentations
북한기도제목 4 월 3 주 (4/15-4/21). 1. 북한정치 - 통일부와 국방부는 11 일 잇따라 열린 정례 브리핑에서 지난 7 일 북한 해외 식당 종업원 들이 집단 탈북한 데 이어 북한 정찰총국 출 신 북한군 대좌와 북한 외교관이 지난해 잇 따라 한국으로 망명한.
Advertisements

M 당 강령, 정책  비정규직과 정규직 간 차별철폐, 동일노동 동일 임금 실현, 최저임금제 현실화, 비정규직의 정규직화 추진 등을 통해 최소한의 인간다 운 생활을 보장한다.  그리고, 우리당은 지난 대선 당시 한국노 총, 민주노총과 정책협약을 통해 약속했던 것처럼.
내 마음의 버 스 이천신하교회 청년부. 이름 : 한상훈 나이 : 30 살 종교 : 기독교 ( 모태신앙 ) 생활신조 : 인생은 한방 ! 로또나 사자 이상형 : 청순 가련한 모태미녀 특이사항 : 걸그룹 노래에 환장함 식스팩을 갖기엔 슬픈 몸을 타고 남.
독서골든벨 2009 학년도 6 학년 1 학기 6-10 반. 1. 이야기 삼국유사 정대한 원효대사는 수행을 위해 떠나던 중 피곤하여 숲 속에서 잠이 들었다. 잠결에 너무 목이 마른 나머지 어디에 담겨있는 물을 맛있게 마셨나요 ?
지금은 기도 하는 시간입니다 1. 송구영신예배를 위해서 2. ‘크리스마스 이브’ 행사를 준비하는 교육 기관을 위하여
Chapter 04 SQL 고급.
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
강사: 이종인 다우 교육원 전임강사 / 온디멘드 수석 컨설턴트 / FMG 수석 컨설턴트
SQL 언어 SQL.
데이터베이스 9주차 : 데이터베이스 설계 2교시 : 데이터베이스 설계(3)
SQL Statement Tuning e-Architecture 팀 임성욱.
Nested Queries CSED421: Database Systems Labs.
19.(코드+년도+월)별,(코드)별,전체총액을 한번에
SQL 0613.
오라클 데이터베이스 성능 튜닝.
Perfect! 대용량 데이터베이스 튜닝Ⅱ.
소리가 작으면 이어폰 사용 권장!.
PL/SQL.
데이터베이스 시스템.
Proc*C 기초 Style System 김도형.
관계 대수와 SQL.
Second lab (제출기한 : 11월 15일(목) 까지)
오라클 데이터베이스 성능 튜닝.
DataBase 기본 교육 신입사원용 최지철.
SQL Server Migration Assistant For Oracle
Database & Internet Computing Laboratory 한 양 대 학 교
박시우 ( 업무에 바로 쓰는 SQL 튜닝 박시우 (
5장 SQL 주요 함수.
06 SQL 함수 SQL 함수의 개념 문자 함수 숫자 함수 날짜 함수 데이터 타입의 변환 일반 함수.
SQL*Plus - Oracle ISQL -
SELECT 문 사원 테이블의 모든 정보를 출력하는 예제 1. 비교 연산자 SELECT 문의 형태
7장 조인.
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
You YoungSEok 고급 SQL You YoungSEok
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
Oracle-MSSQL 변환가이드 이씨스 기술연구소 선임 김태용.
10장. 데이터베이스 보안과 권한 관리 데이터베이스 보안과 권한 관리
8장 서브 쿼리.
Oracle7.0 (SQL & SQL PLUS) - 신입사원 교육자료 (주)대호네티즌 S/W개발팀.
관계 데이터 모델과 제약조건 개념, 특성, 키, 무결성 제약조건.
요약 정보 만들기.
오라클 데이터베이스 성능 튜닝.
제2절 법인세의 계산구조와 세무조정 1. 각 사업연도소득에 대한 법인세 계산구조 회계와 사회 결산서상 당기순이익
SQL 함수 SQL 함수.
14장 뷰.
Chapter 05 데이터베이스 프로그래밍.
14 뷰(View) 뷰의 개념 뷰 관리.
뷰와 저장 프로시저 뷰의 개념을 이해한다. 뷰의 정의와 관리 방법을 이해한다. 뷰를 사용함으로써 생기는 장점을 알아본다.
Heesang kim PL/SQL 3 Heesang kim.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               SQL (2) - 함수, 뷰.
3장 SQL*Plus 명령어.
9장 테이블 생성 및 변경, 삭제하기(DDL).
SQL.
Quiz #1.
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
13장 무결성 제약조건.
4. 나라 사랑의 길 골든벨 퀴즈.
1장. SELECT 문장을 이용하여 원하는 데이터 가져오기
Restricting and Sorting Data
DIAT 스프레드시트 작성방법 한국정보통신진흥협회.
오라클 쿼리 문제 EMP (사원 테이블) DEPT (부서 테이블) 컬럼명 설명 EMPNO 사원번호 ENAME 사원명 JOB
기본적인 SELECT문 작성.
8장 테이블의 생성 및 변경 정인기.
4.DECODE 함수를 이용한 IF 처리의 효율화
테이블 관리 테이블 생성,수정,삭제 데이터 입력 수정, 삭제 2010학년도 2학기.
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
Stored program 2 장종원
SQL 함수.
8단계 3층을 완성한다 Case 1 Case 2 Case 3 Case 4
Presentation transcript:

데이터 베이스 설계 및 실습 #3 - SQL 함수

DUAL 테이블 SYS 계정 소유의 가상 테이블 산술연산이나 날짜 연산에 쓰임.

숫자 함수 ABS – 절대 값을 구함 FLOOR – 소수점 아래를 버림 ROUND – 특정 자릿수에서 반올림 TRUNC – 특정 자릿수에서 버림 MOD – 나머지 값을 반환 POWER – n제곱근을 반환 SIGH – 부호 값을 반환

숫자 함수(1) ABS POWER SIGN 형식 : ABS(숫자) SELECT ABS(-10) FROM DUAL; SELECT POWER(2, 3) FROM DUAL; (=23) SIGN 숫자의 부호를 -1, 0, 1로 표현 형식 : SIGN(숫자) SELECT SIGN(125) FROM DUAL;

숫자 함수(2) FLOOR ROUND TRUNC MOD 형식 : FLOOR(숫자) SELECT FLOOR(35.7654) FROM DUAL; ROUND 형식 : ROUND(숫자[, 자릿수]) SELECT ROUND(35.7654) FROM DUAL; TRUNC 형식 : TRUNC(숫자[, 자릿수]) SELECT TRUNC(35.7654) FROM DUAL; MOD 형식 : MOD(숫자, 나누는 수) SELECT MOD(27, 5) FROM DUAL;

예제 1. 사원테이블(EMP)의 급여(SAL)를 10단위로 반올림 해 보자. 2. 사원 번호(EMPNO)가 홀수인 사람을 검색해보자.

문자 처리 함수 LOWER – 소문자로 변환 UPPER – 대문자로 변환 INITCAP – 이니셜만 대문자로 변환 SUBSTR/SUBSTRB – 문자 추출 LENGTH/LENGTHB – 문자 길이 반환 INSTR/INSTRB – 특정 문자의 위치 값 반환 LPAD/RPAD – 문자열과 기호를 특정 길이로 정렬하여 반환 CONCAT – 두 문자열을 연결

문자 처리 함수 TRIM – 잘라내고 남은 문자를 표시 LTRIM/RTRIM – 공백문자를 제거 CHR – ASCII 코드 값을 문자로 변환 ASCII – 문자를 ASCII 코드 값으로 변환 REPLACE – 특정 문자를 변경

대소문자 변환 함수 - UPPER/LOWER/INITCAT 형식 대문자 변환 : UPPER(문자열) 소문자 변환 : LOWER(문자열) 이니셜 변환 : INITCAT(문자열) 예제 ‘Welcome to ORACLE’ 을 세 함수로 표현해보기. 사원테이블(EMP)에서 직급(JOB)이 ‘manager’인 사원 을 검색.

문자 길이를 구하는 함수 – LENGTH/LENGTHB 예제 ‘오라클’의 길이를 두 함수를 이용하여 구해 보자.

문자를 추출하는 함수 – SUBSTR/ SUBSTRB SUBSTR – 시작 위치로 부터 n개의 글자를 추출한다. SUBSTR – 시작 위치로 부터 n 바이트의 글자를 추출한다. 시작위치가 양수이면 앞에서부터, 음수이면 뒤에서부터 시작 위치를 설 정. 형식 : SUBSTR[B](문자열, 시작 위치, 추출할 개수) 예제 ‘Welcome to Oracle’의 4번째 위치로부터 문자 3개를 추출 해 보자. ‘웰컴 투 오라클’의 3번째 위치로부터 4개의 문자를 추출해 보자. 사원테이블(EMP)의 입사일(HIREDATE) 데이터를 년,월,일로 구분 하여 출력해 보자.

특정 문자의 위치를 구하는 함수 – INSTR/INSTRB 예제 ‘WELCOME TO ORACLE’ 에서 ‘O’의 위치값을 찾아 보자. ‘웰컴 투 오라클’ 에서 ‘오’의 위치값을 찾아 보자. 위의 문장에서 6번째 글자 이후 2번째로 나오는 ‘E’를 찾아 보자. (함수의 3, 4번째 인자를 이용한다.)

특정 기호로 공백을 채우는 함수 – LPAD/RPAD 문자열을 제외한 자릿수를 특정 기호로 채운다. LPAD는 문자열길이 만큼을 남겨두고 기호를 채운 후 문자열 출력. RPAD는 문자열을 먼저 출력한 후 남은 자릿수를 기호 로 채움. 형식 : L(R)PAD(문자열, 자릿수, 기호) 예제 ‘Oracle’을 출력하고 남은 자릿수를 ‘#’으로 채워 보자. (자 릿수는 20자리)

공백문자를 삭제하는 함수 – [L,R]TRIM 문자열이 공백을 포함하고 있을 경우 공백을 삭제하고 출력한 다. TRIM, LTRIM, RTRIM이 있다. 형식 : [L,R]TRIM(문자열) TRIM의 경우 공백이 아닌 문자도 삭제할 수 있다. 형식 : TRIM(문자 FROM 문자열) 예제 ‘ Oracle ‘에서 양쪽 공백을 없애 보자. ‘aaaaaOracleaaaaa’에서 ‘Oracle’만 출력해보자.

그 외 문자 처리 함수들 CONCAT CHR ASCII REPLACE 형식 : CONCAT(문자열, 문자열)

예제 1. ‘WELCOME’, ‘ TO ’, ‘ORACLE’ 을 하나의 문장으로 만 들어 보자. 2. 아스키 코드 값 102가 어떤 문자인지 확인해 보자. 3. 문자 ‘@’ 의 아스키 코드 값을 알아 보자. 4. ‘Welcome to Oracle’에서 ‘o’를 ‘a’로 바꿔 보자.

실습1 87년도에 입사한 직원을 찾아 보자. (입사일 = HIREDATE) 이름이 E로 끝나는 사원을 검색해 보자. SUBSTR을 이용 비교연산자와 AND를 이용 BETWEEN AND를 이용 이름이 E로 끝나는 사원을 검색해 보자. LIKE 연산자와 와일드카드 이용 이름의 세 번째가 R인 사원을 검색해 보자. SUBSTR 이용 INSTR 이용

날짜 함수 SYSDATE – 시스템 날짜 반환 MONTHS_BETWEEN – 두 날짜 사이를 개월 수로 반 환 ADD_MONTHS – 특정 날짜에 개월 수를 더함 NEXT_DAY – 특정 날짜에서 가장 가까운 특정 요일 날 짜 반환 LAST_DAY – 해당 달의 마지막 날짜를 반환 ROUND – 날짜를 특정 기준으로 반올림 TRUNC – 날짜를 특정 기준으로 버림

시스템 날짜 - SYSDATE 시스템에 저장된 현재 날짜를 반환한다. SYSDATE + 숫자로 날짜 연산 가능. 예제 사원들의 현재까지 근무일수를 구해보자. (입사일 데이터 이용)

특정 기준으로 날짜를 변경 – ROUND/TRUNC SELECT ROUND(HIREDATE, ‘MONTH’) FROM DUAL; SELECT TRUNC(SYSDATE, ‘DAY’) FROM DUAL;

개월 수 관련 함수 - MONTHS_BETWEEN/ADD_MONTHS 사원들의 근무 개월 수를 구해 보자. ADD_MONTHS 형식 : ADD_MONTHS(날짜, 더할 개월 수) 사원들의 입사일에 6개월을 더해 보자.

날짜를 반환하는 함수 – NEXT_DAY NEXT_DAY NLS_LANG 입력 받은 날짜 이후로 처음 찾아오는 입력 받은 요일이 언제인 지 반환. 형식 : NEXT_DAY(날짜, ‘요일’) 요일은 한글(월, 월요일), 영문(MONDAY, MON), 숫자(월 1, 화 2…)로 입력 가능. NLS_LANG 오라클의 언어설정을 변경하는 변수 설정된 언어가 한국어일 경우 요일형식은 한글과 숫자만 입력이 가능하고, 영어일 경우 영문과 숫자만 입력이 가능하다. 설정 변경 방법 ALTER SESSION SET NLS_LANGUAGE =‘AMERICAN’

날짜를 반환하는 함수 – LAST_DAY LAST_DAY 예제 해당 날짜가 속한 달의 마지막 날짜를 반환. 돌아 오는 수요일이 몇 일인지 알아보자. 이번 달의 마지막 날은 언제인지 알아 보자.

형 변환 함수 TO_CHAR (날짜형/숫자형을 문자형으로 변환) TO_DATE (문자형을 날짜형으로 변환) TO_NUMBER (문자형을 숫자형으로 변환)

문자형 변환 날짜형 데이터 변환 숫자형 데이터 변환 형식 : TO_CHAR(날짜, ‘출력 양식’)

예제 현재 날짜를 다음의 형식으로 출력해보자 사원테이블의 급여를 통화기호와 천단위 구분 표시가 되 도록 출력해보자. 2010-03-22 2010/03/22 월요일 2010/03/22 월 2010/03/22 10:01:23 사원테이블의 급여를 통화기호와 천단위 구분 표시가 되 도록 출력해보자.

날짜형 변환 형식 : TO_DATE(문자형 날짜, ‘포맷형식’) 포맷형식은 문자형 변환(TO_CHAR)의 날짜 출력 형식 과 같다. 예제 다음 쿼리문을 에러가 나지 않도록 수정해 보자. SELECT SYSDATE – ‘2009/01/01’ FROM DUAL; SELECT * FROM EMP WHERE HIREDATE=19810220;

숫자형 변환 형식 : TO_NUMBER(문자형 숫자, ‘포맷 형식’) 포맷형식은 문자형 변환(TO_CHAR)의 숫자 출력 형식 과 같다. (통화기호는 에러 남) 예제 ‘20,000’ – ’10,000’ 의 연산 결과를 계산해 보자. ‘35,245’ 를 숫자로 바꿔서 출력해보자.

NULL값을 변환하는 함수 – NVL 형식 : NVL(NULL 값, 변환할 값) 예제 사원테이블에서 유일하게 상관(MGR)이 없는(=NULL) 사 원의 MGR 컬럼의 값을 CEO로 바꾸어 출력해 보자.

조건에 따른 선택 함수 – DECODE 형식 : DECODE (표현식, 조건1, 결과1, [조건2, 결과2 …], 기본 결과) 예제 사원의 부서 번호를 이용해서 부서의 이름을 설정해보자. SELECT ENAME, DEPTNO, DECODE (DEPTNO, 10, ‘A’, 20, ‘B’, 30, ‘C’, ‘DEFAULT’) FROM EMP;

조건에 따른 선택 함수 – CASE 형식 : CASE WHEN 조건1 THEN 결과1 [WHEN 조건2 THEN 결과2...] ELSE 결과n END 예제 사원의 부서 번호를 이용해서 부서의 이름을 설정해보자. SELECT ENAME, DEPTNO, CASE WHEN DEPTNO=10 THEN ‘A’ WHEN DEPTNO=20 THEN ‘B’ WHEN DEPTNO=30 THEN ‘C’ ELSE ‘DEFAULT’ END FROM EMP;

실습2 직급(JOB)에 따라 급여를 인상해보자. 직급(JOB)이 ‘SALESMAN’인 사원들의 근무 개월 수를 계산해보자. ANALYST – 5%, SALESMAN – 10%, MANAGER – 15%, CLERK – 20%(그 외 직급은 인상 없음) 직급(JOB)이 ‘SALESMAN’인 사원들의 근무 개월 수를 계산해보자. 실습은 소스와 결과 화면을 파일로 저장하여 제출 파일명 : 학번_이름 제출기한 : 3월 22일 밤 12시