1.
INSERT INOT pReserve
(unq,id,sDate,eDate,mCnt,rNum,app,rDate)
VALUES(
'4'
,'test4'
,'2015-09-25'
,'2015-09-27'
,'2'
,'3'
,'N'
,sysdate
);
2.서울에 사는 남자 회원 출력
select * from pMember where addr like '%서울%' and gender='M';
3.가장 최근에 등록한 회원 1명 출력(rownum적용)
select id, name from (select id,name from pMember order by unq desc)where rownum<2;
4.mRevInfo 라는 컬럼명으로 출력
mRevInfo
-----------------------------------------
test1 :2015/09/25~ 2015-09-26
select id||':'||to_char(sDate,'YYYY/MM/DD')
||' ~ '||to_char(eDate,'YYYY/MM/DD') as mRevInfo
from pReserve where id='test1';
5.mlastInfo라는 컬럼명으로 출력(오늘 기준으로 예약이 있는 회원출력)
mlastInfo
------------------------------------------
test4:2015-09-25 ~ 2015-09-27 (미결재 상태)
select id||':'||to_char(sDate,'YYYY/MM/DD')
||' ~ '||to_char(eDate,'YYYY/MM/DD')
||' 'decode(app,'Y','결재','미결재') as mlastInfo
from pReserve
where to_char(sDate,'YYYY/MM/DD')>to_char(sysdate,'YYYY/MM/DD');
6.mlastInfo라는 컬럼명으로 출력(오늘 포함 숙박이 지난 회원 출력)
select id||':'||to_char(sDate,'YYYY/MM/DD')
||' ~ '||to_char(eDate,'YYYY/MM/DD')||' 에 이용하셨습니다.' as mlastInfo
from pReserve
where to_date(eDate||' 23:59:59','YYYY/MM/DD HH24:SI:SS')<=sysdate;
7.아이디 이름 전화번호 출력(최근 등록한 순으로 정렬 후 5행~10행)
select id name from
(select rownum as rn,id, name from
(select id,name from pMember order by unq desc))
where rn>=5 and rn<=10;
8.가격이 가장 저렴한 방 예약한 사람 출력(아이디, 이름,전번,기간)
select m.id,name,hp,sDate,eDate
from pMember m,pReserve r
where m.id=r.id and r.rNum=(select rNum from pRmInfo order by money asc);//한개의 값이 r.rNum와 비교야하는데 여러개의 값이 나와 있으므로 안된다.
select m.id,name,hp,sDate,eDate from pMember m,pReserve r where m.id=r.id and r.rNum=(select rNum from pRmInfo where money=(select min(money) from pRmInfo));
'개발 > sql' 카테고리의 다른 글
oracle sql (0) | 2015.10.05 |
---|---|
oracle sql (0) | 2015.10.05 |
oracle sql (0) | 2015.09.28 |
oracle sql (0) | 2015.09.27 |
oracle sql (0) | 2015.09.25 |
댓글