1 / 59

데이터 검색

데이터 검색. 질의어 (select) Group Join & 집합연산자 Subquery 오라클 내장함수. 오라클 내장함수. 숫자 함수 문자열 처리 함수 날짜 함수 변환 함수. DUAL 테이블. 데이터 딕셔너리와 함께 오라클에 의해 자동으로 생성되는 테이블 특정한 쿼리나 함수를 실행하여 결과를 확인할 때 주로 사용 DUMMY 라는 VARCHAR2(1) 으로 정의된 하나의 열과 , 값을 가지는 하나의 행으로 구성. 예제 실행 결과. 산술 표현식.

Download Presentation

데이터 검색

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 데이터 검색 질의어 (select) Group Join & 집합연산자 Subquery 오라클 내장함수

  2. 오라클 내장함수 숫자 함수 문자열 처리 함수 날짜 함수 변환 함수

  3. DUAL 테이블 • 데이터 딕셔너리와 함께 오라클에 의해 자동으로 생성되는 테이블 • 특정한 쿼리나 함수를 실행하여 결과를 확인할 때 주로 사용 • DUMMY라는 VARCHAR2(1)으로 정의된 하나의 열과, 값을 가지는 하나의 행으로 구성

  4. 예제 실행 결과

  5. 산술 표현식 • 데이터가 디스플레이 되는 방식을 변경하거나, 계산을 수행하고자 할 때 사용 • FROM 절을 제외한 SQL문장에 사용 • +, - , * , / , ( )

  6. 예제 실행 결과

  7. 숫자 함수 • 숫자 함수는 숫자 값을 받아들여 숫자 값을 되돌려줌 • 숫자 함수의 종류 • ROUND(column | expr, n) • TRUNC(column | expr, n) • MOD(m,n) • ABS(n) • POWER(m, n) • CEIL(n) • FLOOR(n) • GREATEST/LEAST

  8. ROUND(column | expr, n) • 해당 자리수까지 보여주면서 반올림

  9. TRUNC(column | expr, n) • n자리까지 절삭

  10. MOD(m, n) • m값을 n값으로 나누고 남은 나머지를 나타냄

  11. ABS(n) • n의 절대값

  12. POWER(m, n) • m의 n제곱승의 값을 나타냄

  13. CEIL(n) • 주어진 값보다는 크지만 근접하는 최소값을 나타냄

  14. FLOOR(n) • 주어진 값보다 작거나 같은 최대 정수값을 나타냄

  15. GREATEST/LEAST • 주어진 데이터 값 중 최대값/최소값

  16. 문자열 처리 함수 • 입력으로 문자 데이터를 받아들여 결과값을 문자나 숫자로 돌려줌 • 문자 함수 종류 • LOWER(column|expr) • UPPER(column|expr) • INITCAP(column|expr) • CONCAT(column1|expr1, column2|expr2) • SUBSTR(column|expr, m[n]) • LENGTH(column|expr) • NVL(column1|expr1, column2|expr2) • LPAD(char1, n [,char2])/RPAD(char1, n [,char2]) • REPLACE(char1, str1, str2) • TRANSLATE

  17. LOWER(char)/UPPER(char)/INITCAP(char) • LOWER : 대->소문자 • UPPER : 소->대문자 • INITCAP : 각 단어의 첫자만 대문자

  18. CONCAT(char1, char2) • 2개의 char형을 하나로 합침 select concat(concat(c_name, ' '), c_addr) information from customer

  19. SUBSTR(char, m ,[n]) • m(시작index위치), n(index기준 글자수) 기준으로 해당 문자열을 반환 select substr(c_name, 2) test from customer where c_dist='00'

  20. LENGTH(char1) • Char1 문자열의 길이를 반환

  21. 널 값 관리 (NVL 함수) • 널 값을 다른 값으로 전환하기 위해서 NVL함수를 사용

  22. LPAD(char1, n [,char2])/RPAD(char1, n [,char2]) • LPAD는 전체 n칸에서 왼쪽공백을 문자로 채움 • RPAD는 전체 n칸에서 오른쪽공백을 문자로 채움

  23. REPLACE(char1, str1, str2) • 문자열의 특정 문자를 원하는 문자로 바꿈 • 대소문자 구분

  24. INSTR(1) • 왼쪽부터 시작해서 첫 번째로 검색된 위치 반환

  25. INSTR(2) • 왼쪽 3번째 문자열부터 시작해서 첫 번째로 검색된 위치 반환

  26. INSTR(3) • 왼쪽 3번째 문자열부터 시작해서 두 번째로 검색되는 위치 반환

  27. TRIM • 양끝에서부터 특정 문자를 선택하여 제거 • 제거 도중 다른 문자가 나오면 제거 중단

  28. LTRIM & RTRIM • LTRIM은 왼쪽, RTRIM은 오른쪽부터 제거

  29. TRANSLATE • 문자 대체하기

  30. 날짜 함수 • SYSDATE() • ADD_MONTHS() • EXTRACT() • LAST_DAY() • MONTH_BETWEEN() • NEXT_DAY() • ROUND() • TRUNC()

  31. SYSDATE() • 데이터베이스의 타임 존 기반으로 DATE값에 있는 현재 날짜와 시간을 리턴

  32. ADD_MONTHS() • 주어진 날짜에 몇 개월을 더한 값을 리턴 • RESULT:=ADD_MONTHS(DATE, NUMBER)

  33. EXTRACT() • 날짜/시간이나 Interval 값을 얻어내는 데 사용되는 함수 • Result:=extract( d_fieldfrom [d_value | interval_value]) • d_field에 쓰일 수 있는 값 들 • YEAR, MONTH, DAY, HOUR, MINUTE, SECOND …

  34. LAST_DAY() • 주어진 날짜가 포함된 월의 마지막 날짜를 리턴 • RESULT:=LAST_DAY(date_value)

  35. MONTHS_BETWEEN() • 두 날짜 사이에 몇 달 간격이 있는지를 검사하여 리턴 • 리턴 값은 실수 • 정수부분은 달 수 • 소수점 아래 부분은 한 달이 안 되는 날짜 간격 • RESULT:=MONTHS_BETWEEN(DATE,DATE)

  36. NEXT_DAY() • 날짜와 요일을 인수로 받아서, 날짜 이후에 처음 등장하는 요일을 리턴 • RESULT:=NEXT_DAY(DATE,DAY)

  37. ROUND() • 인수로 전달된 날짜를 반올림한 값을 리턴 • RESULT := ROUND(DATE[,FORMAT]);

  38. TRUNC() • 두 번째 인수로 지정된 포맷을 기반으로 날짜/시간 값을 절삭하여 리턴 • RESULT := TRUNC(DATE[,FORMAT]);

  39. ROUND(),TRUNC()에 사용되는 날짜 포맷 • 연도: YYYY, YY, YEAR • 월 : MONTH, MON • 일 : DDD, DD • 요일 : DAY, DY, D • 시간 : HH, HH12, HH24 • 분 : MI • 초 : SS

  40. 날짜에 산술 연산자 사용(1) • 데이터베이스는 날짜를 숫자로 저장하기 때문에 산술 연산자를 사용하여 날짜에 대한 계산 가능 • 날짜 뿐만 아니라 숫자 상수 연산가능

  41. 날짜에 산술 연산자 사용(2)

  42. 변환 함수 • TO_CHAR(number | date, [‘fmt’]) • 숫자 또는 날짜 값을 fmt형식의 문자 스트링으로 바꿈 • TO_NUMBER(char) • 숫자를 포함하고 있는 문자 스트링을 숫자로 전환 • TO_DATE(char,[‘fmt’]) • 날짜를 나타내는 문자 스트링을 명시한 fmt에 따라 날짜 값으로 바꿈 • fmt를 생략하면 형식은 DD-MON-YY가 됨

  43. 날짜에 대한 TO_CHAR 함수

  44. 숫자에 대한 TO_CHAR 함수 • 대출번호 LP100001의 대출금액을 출력

  45. TO_NUMBER 함수

  46. TO_DATE 함수 • 계좌 개설이 2007년 1월 19일인 것을 출력

  47. • 뷰의 장점 • 뷰는 데이터베이스의 선택적인 내용을 보여줄 수 있기 때문에 데이터베이스에 대한 액세스를 제한 • 복잡한 질의를 통해 얻을 수 있는 결과를 간단한 질의를 사용해 구할 수 있게 함 • 죠인 방법을 몰라도 죠인을 한 것처럼 여러 테이블에 대한 데이터를 뷰를 통해 볼 수 있음 • 한 개의 뷰로 여러 테이블에 대한 데이터를 검색 • 특정 평가 기준에 따른 사용자 별로 다른 데이터를 액세스할 수 있음

  48. 뷰의 생성 • 문법 CREATE [OR REPLACE] [FORCE | NOFORCE] VIEW 뷰명 [(alias[,alias]...)] AS Subquery [WITH CHECK OPTION [CONSTRAINT 제약조건]] [WITH READ ONLY] • OR REPLACE는 뷰를 변경할 수 있음 • FORCE는 기본 테이블의 유,무에 관계없이 뷰를 만듬 • Alias는 부 질의를 통해 선택된 값에 대한 열 명이 됨 • WITH CHECK OPTION은 뷰에 의해 액세스 될 수 있는 행만이 입력되거나 변경될 수 있음을 지정 • 제약 조건은 CHECK OPTION 제약 조건에 지정된 이름 • WITH READ ONLY는 이 뷰에서 DML이 수행될 수 없게 함

  49. 예제 실행 결과 • 계좌 테이블에서 대출계좌번호, 대출금액, 대출상품명을 검색. 대출금액은 2억 4천만원과 2억 5천만원 사이의 것들 출력

More Related