본문 바로가기

분류 전체보기169

16. 학사관리 DB 관련 종합연습문제 ● PRACTICE 연습문제 - 학사관리 관련 종합연습문제 (테이블 조인) Q1) 디자인 교과목 중에서 학점이 제일 많은 교과목을 수강신청한 명단을 조회하시오 (학번, 이름, 과목코드) -- 방법1 -- 0. select * from tb_sugang order by gcode; -- 1. 디자인 교과목 학점별 내림차순 정렬 select gcode, gname, ghakjum from tb_gwamok where gcode like 'd%' order by ghakjum desc; -- 2. 1의 결과에 줄번호 추가 select gcode, gname, ghakjum, rownum as rnum from ( select gcode, gname, ghakjum from tb_gwamok where gcod.. 2022. 5. 21.
00. myweb프로젝트 관련, Maria DB와 Oracle DB 쿼리 차이 방명록 쿼리를 예시로 한 Maria DB와 Oracle DB 쿼리 차이 큰 차이는 없지만, 데이터 타입, insert문, 페이징에서 다소 차이가 존재함 방명록 페이징 넣어보려다가 MariaDB버전으로 수정했던 DAO 한번 날려먹고 앞으로 cefe24에 DAO올릴 때 까먹지 말라고 정리해본다.. 데이터 타입은 예전에 블로그에 정리해둠 https://binscode.tistory.com/51?category=1052619 INSERT에서 차이 -Maria DB(cafe24) INSERT INTO tb_gbook(gname, content, passwd, ip, grpno, regdt) VALUES(?, ?, ?, ?, (SELECT ifnull(max(gbookno),0)+1 FROM tb_gbook AS .. 2022. 5. 21.
15. 모조칼럼 (rownum, rowid) ○ 모조칼럼 (의사칼럼, pseudo column) - 모조칼럼, 의사칼럼 : 칼럼은 아니지만 실제 칼럼처럼 사용할 수 있는 칼럼 - 오라클 DBMS 전용 - rownum : 행 번호 - rowid : 행의 주소값 --행의 주소값 select uname, rowid from tb_student; -- 줄번호 select hakno, uname, rownum from tb_student; -- 줄번호에 별칭 부여하기 select hakno, uname, rownum as rnum from tb_student; -- 줄번호가 먼저 부여되고 정렬된다 select hakno, uname, rownum as rnum from tb_student order by uname; -- 줄번호 1~3사이 조회 select.. 2022. 5. 20.
14. 테이블 조인의 종류 (Inner Join, Left Join, Right Join, (+)기호) ○ inner join (= join) - 두 테이블에 공통으로 존재하는 칼럼을 이용하는 방식 - inner 생략 가능 - 기본 select A.*, B.* from tableA A inner join tableB B on A.key=B.key select A.*, B.* from tableA A join tableB B --inner생략가능 on A.key=B.key ○ left outer join (= left join) - 왼쪽 테이블의 모든 데이터와 오른쪽 테이블의 동일 데이터를 추출 - outer 생략가능 select A.*, B.* from tableA A left outer join tableB B on A.key=B.key select A.*, B.* from tableA A left jo.. 2022. 5. 20.
13. 학사관리 DB, 테이블 조인 ○ 테이블 조인 - 두 개 이상의 테이블을 결합하여 데이터를 추출하는 기법 - 두 테이블의 공통값을 이용하여 컬럼을 조합하는 수단 - 형식 select 칼럼명 from 테이블1 join 테이블2 on 조건절; -- ANSI(표준) SQL문 select 칼럼명 from 테이블1, 테이블2 on 조건절; -- Oracle SQL문 select T1.*, T2.* -- T1.모든칼럼, T2.모든칼럼 from T1 join T2 on T1.x=T2.x -- 테이블명.칼럼명 ( . : ~에 속해있는) select T1.*, T2.*, T3.* from T1 join T2 on T1.x=T2.x join T3 -- 3개 테이블 조인 on T1.y=T3.y select T1.*, T2.*, T3.* from T1 j.. 2022. 5. 19.
12. 학사관리 DB 작업 (무결성) ○ 학사관리 테이블 및 시퀀스 생성 1) 테이블 생성 ---------------------- 학생테이블 create table tb_student( hakno char(5) not null --학번 ,uname varchar(20) not null --이름 ,email varchar(20) unique --이메일 ,address varchar(20) not null --주소 ,phone varchar(20) --전화번호 ,regdt date default sysdate --등록일 ,primary key(hakno) --기본키 ); ---------------------- 과목테이블 create table tb_gwamok( gcode char(4) not null --과목코드 (p:프로그램교과목, d:.. 2022. 5. 19.