본문 바로가기
[DBMS]/- Oracle

[Oracle]듀얼테이블(dualTable)이란 ?

by Hapco 2022. 5. 30.
728x90
반응형

#듀얼테이블 (dual table)

-작업을 수행하다보면 테이블이 없거나 처리가 어려운경우가 발생한다

- 듀얼 테이블은 사용자가 만드는것이 아닌 오라클 내장 기능이다.

-기본생성

select * from dual;

-테이블이 없지만 간단한 결과처리

select 1234 + 4567 from dual ;

#단일행 함수

-문자열의 덧셈

select concat('안녕,'하세요') from dual; ---> 안녕하세요

select '안녕'||'하세요' from dual ; --> 안녕하세요

ex)

select * from product where name like concat('바','%');

select * from product where name like '%' || '바' || '%';

※ 오라클에서 || 는 문자열 합성도구 자바의 or연산과 햇갈리지말자

-문자열 변환

select upper('hello') from dual; ( 대문자)

select lower('hello') from dual; (소문자 )

select initcap('hello java') from dual ; (단어의 첫글자만 대문자)

--> Hello java

ex)

select * from product where name ='banana';

select * from product where lower(name) = lower('banana');

select * from product where upper(name) = upper('banana');

- 문자열 자르기

select substr('abcdefg',2) "결과" from dual;

(주어진 문자열의 2번째부터 출력하겟다.)

--> bcdedfg

select substr('ABCDEFG',2,3) "결과" from dual;

(주어진 문자열에 2번째부터 3개를 출력하겟다)

--> bcd

-문자열 치환

select replace('오늘 점심은 치킨이다 !' , '치킨' ,'중국집')from dual;

--> 여기서 null을 처리하는것이 아닌 오라클은 nvl을 통하여 null을치환한다.

-nvl : null을 치환

select nvl(null,'hello') from dual;

--> null 이라면 hello로 치환하여 보여준다

ex) select member_id, member_pw, member_nick, member_birth ,

nvl( member_email, '없음')" member_email " ,nvl( member_phone ,'없음')" member_phone" ,

member_join, member_point, member_grade from member;

저 붉은색이 null 이라면 없음으로 치환하여 보여준다

-length 문자열의 길이 계산

select length('abcdefg') "길이" from dual;

 

집계 함수 :주어진 데이터를 취합하여 결과를 만들어 내는 함수

ex)가장 비싼 상품의 가격,모든 회원의 포인트 합계

- 최대 최소 합계 평균 개수

ex)

select max(price) "최대가격" from product;

select min(price) "최소가격" from product;

select sum(price) "총가격" from product;

select count(*) "상품갯수" from product;

select avg(price) "평균가격" from product;

만약 최대가격인 상품의 이름을 보고싶다면 어떻게해야하냐? 이부분은 서브쿼리 정리부분에서 적도록하겟다.

'[DBMS] > - Oracle' 카테고리의 다른 글

[Oracle]정렬 (Sort) asc/desc  (0) 2022.05.30
[Oracle]서브쿼리(subQuery)  (0) 2022.05.30
[Oracle]테이블 조회 ( select)  (0) 2022.05.29
[Oracle]날짜데이터 다루기  (0) 2022.05.29
[Oracle]제약조건  (0) 2022.05.29

댓글