김갱환
맨땅에 코딩
김갱환
전체 방문자
오늘
어제
  • 분류 전체보기 (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)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

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

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
김갱환
⁂ Oracle DB/: 기본 익히기

[Oracle] #3-2 시퀀스

⁂ Oracle DB/: 기본 익히기

[Oracle] #3-2 시퀀스

2022. 8. 22. 13:00

1. 데이터의 일련번호

 

 데이터를 정리할 때 DB에서 일련번호를 부여할 수도 있다.

 이 일련번호를 발생시킬 때는 특정 데이터를 구분하기 위해서이기 때문에 값에 중복해서 일련번호를 부여하진 않는다.

 

 오라클 DB에서는 자동으로 일련번호를 부여할 수 있다.

 이것을 시퀀스(Sequence)를 생성한다 라고 부른다.

 M*Sql에서는 Identity 제약조건을 만든다 라고 부른다.

 (M으로 시작하는 SQL 프로그램; Maria DB, My-Sql 등)

 

 이제 어떻게 일련번호를 부여하는지 알아보자.

 

 

2. 시퀀스 연습하기

 

1) 테이블 생성하기

create table sungjuk(
     sno   int         not null -- 일련번호
    ,uname varchar(50) not null
    ,kor   int         not null
    ,eng   int         not null
    ,mat   int         not null
    ,tot   int         
    ,aver  int         
    ,addr  varchar(50)          -- 주소
    ,wdate date                 -- 등록일(년월일시분초)
);

 

 위와 같은 9개의 칼럼을 가진 테이블을 만들었다.

 여기서 date 라는 자료형이 처음 등장했다!

 이것은 날짜를 표현하는 자료형이다.

 값을 따로 지정할 때는 문자형처럼 ' ' 안에 넣어주며 '2022-08-22'와 같은 형태로 넣으면 된다.

 시간은 : 를 사용하여 구분해준다.

 

 * 현재 날짜를 표기할 때는 함수가 있다.

   sysdate라는 함수를 입력하면 된다(괄호가 없는 함수이다).

 

2) 시퀀스(Sequence)

 시퀀스는 일련번호를 자동으로 생성해준다.

 - 시퀀스 생성 : create sequence 시퀀스명;
 - 시퀀스 삭제 : drop   sequence 시퀀스명;
 
 - 시퀀스 생성 형식)
  create sequence 시퀀스명
  increment by 증가값 start with 시작값;

 

 이제 시퀀스를 생성해보자.

-- sungjuk 테이블에서 사용할 시퀀스 생성
create sequence sungjuk_seq;

-- sungjuk_seq 시퀀스 삭제
drop sequence sungjuk_seq;

-- 시퀀스를 이용해서 행추가
insert into sungjuk(sno, uname, kor, eng, mat, addr, wdate)
values (sungjuk_seq.nextval, '홍길동', 89, 85, 90, 'Seoul', sysdate);

select * from sungjuk;

 

 시퀀스인 sungjuk_seq를 만든 뒤 .nextval 이란 함수를 사용하여 시퀀스를 순차적으로 표기하게 하였다.

 

 

3. 문제

 

● [문제]

-- 문1) 전체행에 대해서 총점(tot), 평균(aver)을 구하시오

update sungjuk set tot=kor+eng+mat, aver=(kor+eng+mat)/3;


-- 문2) 이름에 '나' 글자가 있는 행을 조회하시오
select uname
from sungjuk
where uname like '%나%';

-- 문3) 주소가 서울, 제주 행을 조회하시오
select uname, addr
from sungjuk
where addr = 'Seoul' or addr = 'Jeju';

select uname, addr
from sungjuk
where addr in ('Seoul', 'Jeju');

-- 문4) 국영수 세과목 모두 90점이상 행이 몇개인지 조회하시오
select count(*)
from sungjuk
where kor>=90 and eng >=90 and mat >=90;

select count(*) as 갯수
from sungjuk
where kor>=90 and eng >=90 and mat >=90;

-- 문5) 주소별로 정렬해서 조회하시오. 주소가 같다면 일련번호 순으로 다시 정렬해서 조회하시오
select uname, addr
from sungjuk
order by addr;

select uname, addr, sno
from sungjuk
order by addr, sno;
저작자표시 비영리 동일조건 (새창열림)

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

[Oracle] #3-4 데이터 가공하기 : distinct, group by, 집계함수  (0) 2022.08.22
[Oracle] #3-3 자료형과 제약 조건  (0) 2022.08.22
[Oracle] #3-1 sort정렬과 Alter문  (0) 2022.08.22
[Oracle] #2-3 Where 조건절(연산자, between, in, like)과 Null값  (0) 2022.08.19
[Oracle] #2-2 기초 SQL문 - select, as, commit, rollback  (0) 2022.08.19
    '⁂ Oracle DB/: 기본 익히기' 카테고리의 다른 글
    • [Oracle] #3-4 데이터 가공하기 : distinct, group by, 집계함수
    • [Oracle] #3-3 자료형과 제약 조건
    • [Oracle] #3-1 sort정렬과 Alter문
    • [Oracle] #2-3 Where 조건절(연산자, between, in, like)과 Null값
    김갱환
    김갱환
    코딩의 코자도 모르는 이의 공부 기록장

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.