본문 바로가기
프로그래밍/Oracle SQL 데이터베이스

[오라클 SQL 기초] 시퀀스 일련번호, 시퀀스 생성&삭제, 날짜 함수 sysdate 자료형 date, 행 수정&추가 update set, 집계 함수 sum, avg, max, min, round

by nisne 2020. 9. 14.

모든 설명은 주석으로 확인할 수 있어요.

하나씩 따라해 보세요. ^^

 

create table lan(
   sno int not null,    --일련번호   / null값이 기본
   uname varchar(30) not null,
   kor int not null,
   eng int not null,
   mat int not null,
   aver int null,
   addr varchar(50),
   wdate date    --등록일 /날짜 연월일시분초, 자료형이 date(oracle), datetime(MySql)  
);

-- 시퀀스 활용

--시퀀스 생성
create sequence lan_seq;

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

-- 시퀀스 이용하여 행 추가 시 일련번호 부여
insert into lan(sno,uname,kor,eng,mat,addr,wdate)
values(lan_seq.nextval,
        '무궁화',
        40, 50, 20,
        'Seoul',
        sysdate     -- 현재 시스템의 날짜 정보
        ); 
        
-- 입력 데이터 생략

select sno from lan;    -- 일련번호가 1부터 입력된 것을 알 수 있음

-- 평균 입력
update lan
set aver = (kor + eng + mat)/3;

--------------------------------------------------------------------

-- 오라클 집계 함수

-- 행 갯수 함수
select count(*) from lan;

-- null 값 제외한 행 갯수 함수
select count(kor) from lan;

-- 합계 함수
select sum(kor) from lan;

-- 평균 함수
select avg(kor) from lan;

-- 최대값 함수
select max(kor) from lan;

-- 최소값 함수
select min(kor) from lan;

-- 반올림 함수
select round(avg(aver), 1)     -- 소수점 첫째 자리까지 반올림
from lan;

select round(avg(aver), -1)     -- 첫째 자리에서 반올림
from lan;

select round(avg(aver))     --소수점 없애기, 0 생략된 표현
from lan;

 

영어를 어느 정도 잘하면 프로그래밍에도 많은 도움이 되더군요.

영어를 배울 수밖에 없다면... ^_^

 

 

댓글