[6] Oracle DB - 성적테이블

kangsun·2022년 8월 30일
0

Database

목록 보기
6/8

✏️ 성적테이블 연습문제

• sungjuk테이블 생성

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                   --등록일(년월일시분초)
);

• sungjuk테이블 입력 데이터

insert into sungjuk(sno, uname, kor, eng, mat, addr, wdate)
values(sungjuk_seq.nextval,'솔데스크', 90, 85, 95, 'Seoul',sysdate);

insert into sungjuk(sno,uname,kor,eng,mat,addr,wdate)
values(sungjuk_seq.nextval,'무궁화',40,50,20,'Seoul',sysdate);

insert into sungjuk(sno,uname,kor,eng,mat,addr,wdate)
values(sungjuk_seq.nextval,'진달래',90,50,90,'Jeju',sysdate);

insert into sungjuk(sno,uname,kor,eng,mat,addr,wdate)
values(sungjuk_seq.nextval,'개나리',20,50,20,'Jeju',sysdate);

insert into sungjuk(sno,uname,kor,eng,mat,addr,wdate)
values(sungjuk_seq.nextval,'봉선화',90,90,90,'Seoul',sysdate);

insert into sungjuk(sno,uname,kor,eng,mat,addr,wdate)
values(sungjuk_seq.nextval,'나팔꽃',50,50,90,'Suwon',sysdate);

insert into sungjuk(sno,uname,kor,eng,mat,addr,wdate)
values(sungjuk_seq.nextval,'선인장',70,50,20,'Seoul',sysdate);

insert into sungjuk(sno,uname,kor,eng,mat,addr,wdate)
values(sungjuk_seq.nextval,'소나무',90,60,90,'Busan',sysdate);

insert into sungjuk(sno,uname,kor,eng,mat,addr,wdate)
values(sungjuk_seq.nextval,'참나무',20,20,20,'Jeju',sysdate);

insert into sungjuk(sno,uname,kor,eng,mat,addr,wdate)
values(sungjuk_seq.nextval,'홍길동',90,90,90,'Suwon',sysdate);

insert into sungjuk(sno,uname,kor,eng,mat,addr,wdate)
values(sungjuk_seq.nextval,'무궁화',80,80,90,'Suwon',sysdate);


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

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


• 문2) 이름에 '나' 글자가 있는 행을 조회하시오.

select uname
from sungjuk
where uname like '%나%';

%나% -> 나중에 변수처리하면 검색 결과에 따라 조회할 수 있다.


• 문3) 주소가 서울, 제주 행을 조회하시오.

(1) in 연산자
select uname, addr
from sungjuk
where addr in ('Seoul','Jeju');


(2) or 연산자
select uname, addr
from sungjuk
where addr='Seoul' or addr='Jeju';


• 문4) 국영수 세과목 모두 90점이상 행이 몇개인지 조회하시오.

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


• 문5) 주소별로 정렬해서 조회하시오. 주소가 같다면 일련번호 순으로 다시 정렬해서 조회하시오.

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

profile
코딩 공부 💻

0개의 댓글

관련 채용 정보