김갱환
맨땅에 코딩
김갱환
전체 방문자
오늘
어제
  • 분류 전체보기 (239)
    • ⁂ 맨땅에 코딩 (11)
      • : Story (3)
      • : MiniProject 'MyWeb' (1)
      • : Final Project (5)
      • : Josa-Moa 한국어 조사 처리 프로젝트 (1)
    • —————Frontend——————————————.. (0)
    • ⁂ HTML (10)
      • : 기본 익히기 (10)
    • ⁂ CSS (15)
      • : 기본 익히기 (15)
    • ⁂ Java Script (32)
      • : 기본 익히기 (28)
      • : 자바스크립트 라이브러리 (1)
      • : 연습 문제 (3)
    • ⁂ jQuery (11)
      • : 기본 익히기 (11)
    • ⁂ Bootstrap (3)
      • : 기본 익히기 (3)
    • ⁂ TailWind CSS (1)
    • ⁂ AJAX (5)
      • : 기본 익히기 (5)
    • ⁂ Vue.js (3)
      • : 기본 익히기 (3)
    • —————DB : Data Base————————.. (0)
    • ⁂ Oracle DB (27)
      • : 기본 익히기 (24)
      • : 연습 문제 (3)
    • ⁂ MyBatis Framework (15)
      • : 기본 익히기 (15)
    • —————Backend———————————————.. (0)
    • ⁂ Java (62)
      • : 기본 익히기 (42)
      • : JDBC - Java DataBase Conn.. (4)
      • : Crawling (2)
      • : 독학으로 공부하기(과거) (11)
      • : 연습문제 (3)
    • ——————Web————————————————— (0)
    • ⁂ JSP (28)
      • : 기본 익히기 (28)
    • ⁂ Spring FrameWork (15)
      • : Legacy Project (1)
      • : 기본 익히기(Boot 기반) (14)
    • ——————————————————————— (0)
    • ⁂ Error Note (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 코딩 #코딩공부 #상수 #리터럴 #형변환 #개발자 #자바 #자바공부 #자바독학
  • 자바
  • 풀스택
  • 자바공부
  • http에러메세지
  • httperror
  • 코딩 #코딩공부 #프론트앤드 #백앤드 #풀스택개발자
  • web.xml수정
  • 코딩공부 #코딩 #자바 #자바독학 #자바공부 #개발자 #프론트앤드 #백앤드 #풀스택
  • 개발자
  • 연산자 #기본연산자 #코딩 #자바 #독학 #자바공부 #자바연산자
  • HTML공부
  • 백앤드
  • 코딩공부
  • 객체지향프로그래밍
  • 코딩
  • ErrorPage
  • 프론트앤드
  • 비트연산자 #코딩공부 #자바공부 #코딩 #자바 #프로그래밍 #개발자
  • 코딩공부 #자바공부

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
김갱환

맨땅에 코딩

⁂ Oracle DB/: 기본 익히기

[Oracle] #4-3 Oracle 함수 : nvl, 모조칼럼(rownum, rowid)

2022. 8. 23. 17:10

1. nvl() 함수

 

 이 함수는 마리아DB에서 ifnull() 함수와 같다.

 nvl()을 사용하면 null값을 지정해줄 수 있다.

 

 형식)

nvl(칼럼명, 값)
nvl(kor, 0) -- kor 값이 null이면 0의 값을 대입한다
문제) 주소가 'Incheon'인 행의 국어점수 최대값, 인원수를 조회하시오
select nvl(max(kor),0), count(*)
from sungjuk
where addr='Incheon' and kor=(select max(kor) from sungjuk where addr='Incheon');

select count(*)+1       -- 0+1
from sungjuk
where addr='Incheon';

select max(kor)+1       -- null, null은 연산이 되지 않음
from sungjuk
where addr='Incheon';

select nvl(max(kor), 0) -- null값이면 0으로 대체함
from sungjuk
where addr='Incheon';

select nvl(max(kor), 0)+1 as max_kor -- 1
from sungjuk
where addr='Incheon';

 

 

2. 모조 칼럼

 

 모조 칼럼(Pseudo Columns), 즉 허상의 칼럼이란 뜻이다.

 실제 테이블에 저장되어있지는 않지만 가상의 공간에 생성되는 칼럼이다.

 종류는 ROWNUM 과 ROWID 가 있는데 ROWNUM은 퀴리의 결과로 나오게 되는 값들의 순서값, 그리고 ROWID는 ROWNUM마다 배정되는 이름이다.

 

select sno, uname, addr, rownum, rowid
from sungjuk
where rownum>=1 and rownum<=5;

 

 이 모조칼럼은 단일 값에 접근하는 가장 빠른 수단이며, 테이블에 각 로우(행)들이 어떻게 저장되어지는지를 보여준다.

 ROWNUM은 결과의 순서마다 붙어지는 숫자값이지만(어떤 값이 와도 순차적으로 붙여짐),

 ROWID 값은 유일한(unique) 값이다.

 

 

* order by로 정렬했을 경우!

select sno, uname, addr, rownum, rowid
from sungjuk
order by uname;

번호가 들쭉 날쭉~

 

 order by로 정렬을 하면 행 자체의 값을 가지고 정렬을 시키기 때문에 rownum의 값이 우선 배정된 뒤 정렬이 된다.

 그래서 rownum이 순서대로 붙여지지 않게 된다.

저작자표시 비영리 동일조건 (새창열림)

'⁂ Oracle DB > : 기본 익히기' 카테고리의 다른 글

[Oracle] #5-1 모델링(테이블 시나리오, 테이블 정의서) 개념 정리  (0) 2022.08.25
[Oracle] #4-4 오라클과 마리아DB의 자료형  (0) 2022.08.23
[Oracle] #4-2 Oracle에서 자주 쓰이는 함수 모음  (0) 2022.08.23
[Oracle] #4-1 서브쿼리  (0) 2022.08.23
[Oracle] #3-5 having 조건절, CASE WHEN ~ THEN END 구문  (0) 2022.08.23
    '⁂ Oracle DB/: 기본 익히기' 카테고리의 다른 글
    • [Oracle] #5-1 모델링(테이블 시나리오, 테이블 정의서) 개념 정리
    • [Oracle] #4-4 오라클과 마리아DB의 자료형
    • [Oracle] #4-2 Oracle에서 자주 쓰이는 함수 모음
    • [Oracle] #4-1 서브쿼리
    김갱환
    김갱환
    코딩의 코자도 모르는 이의 공부 기록장

    티스토리툴바