반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 머신러닝
- Keras
- discrete_scatter
- CES 2O21 참여
- 결합전문기관
- web 사진
- 데이터전문기관
- vscode
- KNeighborsClassifier
- 재귀함수
- web
- C언어
- inorder
- postorder
- cudnn
- bccard
- paragraph
- web 용어
- CES 2O21 참가
- pycharm
- 자료구조
- tensorflow
- broscoding
- classification
- 웹 용어
- html
- web 개발
- mglearn
- 대이터
- java역사
Archives
- Today
- Total
bro's coding
SQL.Paging 본문
반응형
paging 방법
Paging SQL(row_number() 와 subquery의 inline view를 이용하고회원 테이블과 join)
drop table player;
create table player(
no number primary key,
title varchar2(100) not null,
singer varchar2(30) not null,
price number not null
)
select * from player;
create sequence mp3_seq;
insert into player(no,title,singer,price) values(mp3_seq.nextval,'가을아침','아이유',700);
insert into player(no,title,singer,price) values(mp3_seq.nextval,'noting better','양형조',1000);
insert into player(no,title,singer,price) values(mp3_seq.nextval,'밤편지','김지은',1000);
insert into player(no,title,singer,price) values(mp3_seq.nextval,'연결고리','장지훈',1000);
insert into player(no,title,singer,price) values(mp3_seq.nextval,'No matter where','김수권',1000);
insert into player(no,title,singer,price) values(mp3_seq.nextval,'피 땀 눈물','BTS',500);
insert into player(no,title,singer,price) values(mp3_seq.nextval,'연가','정우',600);
insert into player(no,title,singer,price) values(mp3_seq.nextval,'i am','nirinjan kaur',1000);
commit
select count(*) from player;
/*
Oracle row_number() over() : 조회된 ROW(행)에 대한 순차적인 번호를 제공하는 오라클 함수
Inline View : SQL 문장에서 From 절에 사용되는 Subquery
FROM 절에 서브쿼리로 SELECT 되는 조회결과를 테이블처럼 사용
EX) SELECT
FROM (
서브쿼리
) 별칭
*/
-- 내림차순 정렬
select * from player order by no desc;
-- row_number() over(정렬)
delete from player where title='Power';
-- row_number()는 조회된 결과행에 대해서 행번호를 매긴다
-- 아래의 where 조건절에서는 사용할 수 없다
-- SubQuery의 InlineView를 이용하면 된다
-- rnum이 4이상 6이하인 곡들을 조회
-- Board Paging SQL
-- 게시물 rnum 이 1 이상 5 이하인 게시물 정보를 조회
/*
SELECT B.*,M.NAME
FROM(
) B , MEMBER M
WHERE 조인조건 AND rnum between 1 and 5
*/
-- step1 : 게시물을 내림차순 정렬하고 row number를 생성한다
SELECT row_number() over(ORDER BY NO DESC) as rnum, no, title, hits, to_char(time_posted,'YYYY.MM.DD')as time_posted,id FROM board
-- step2 : step1을 인라인뷰로 이용하고 member 와 join 한다
SELECT B.*,M.name
FROM(
SELECT row_number() over(ORDER BY NO DESC) as rnum, no, title, hits, to_char(time_posted,'YYYY.MM.DD')as time_posted,id
FROM board
) B,board_member M
WHERE B.id=M.id AND rnum BETWEEN 1 AND 5;
반응형
'[IT] > Oracle DB' 카테고리의 다른 글
OracleDB.DATE (0) | 2021.04.20 |
---|---|
oracleDB.Transaction(트랜잭션) (0) | 2021.03.26 |
oracleDB.sequence(시퀀스) (0) | 2021.03.25 |
oracleDB.insert into(row 삽입) (0) | 2021.03.24 |
oracleDB.create table(테이블 생성) (0) | 2021.03.24 |
Comments