database.sarang.net
UserID
Passwd
Database
ㆍDBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DBMS Q&A 1159 게시물 읽기
No. 1159
쿼리작성에 질문있습니다.
작성자
아이스
작성일
2005-09-28 05:10
조회수
9,895

DBMS를 독학으로 공부하면서 유학을 꿈꾸는 초보 입문자입니다.

책은 Thosmas Connolly가 지은 DATABASE SYSTEMS을 보고 있는데 거기에 나온 연습문제입니다. 어떻게 쿼리를 작성해야 할지 몰라서 질문드립니다. 꼭 답변해 주시길.

 

다음과 같은 Hotel Schema가 있습니다.

 

Hotel (hotelNo, hotelName, city)

Room (roomNo, hotelNo, type, price)

Booking (hotelNo, guestNo, dateFrom, dateTo, roomNo)

Guest (guestNo, guestName, guestAddress)

 

문1) London에 있는 모든 세부사항을 표시하라 (List full details of all hotels in London).

 

제가 작성한 답) SELECT * FROM Hotel WHERE city='London'

 

제가 쓴 답에 문제가 없는지 확인 부탁드려요.

 

문2) 하루밤 이용료가 $40 이하인 더블룸과 패밀리 룸의 모든 사항을 가격의 오름차순으로 표시하라 (List all double or family rooms with a price below $40.00 per night, in ascending order of price).

 

제가 작성한 답) SELECT * FROM Room WHERE price < $40.00 and type in ('double', family room')

 

역시 맞는지 확인 부탁~ 근데 자신이 없어요.

 

문3) 그곳에 얼마나 많은 호텔인 있는가? (How many hotels are there?) - Aggregate functions 활용

 

제가 작성한 답) SELECT COUNT(DISTINCT hotelNo) FROM Hotel

 

문4) 더블 룸으로부터 거두어 들이는 하루밤 수입은 얼마인가? (What is the total revenue per night from all double rooms?) - Aggregate functions 활용

 

제답 : SELECT SUM(price) FROM Room WHERE type='double'

 

문5) Grosvenor라는 호텔의 모든 방의 가격과 종류를 나타내라 (List the price and type of all rooms at the Grosvenor Hotel).

 

제답 : SELECT price, type FROM Room WHERE hotelNo=(SELECT hotelNo FROM Hotel WHERE hotelName='Grosvenor Hotel').

 

문6) Grosvenor 호텔에서 만일 방에 손님이 있는 경우 그 손님의 이름을 포함하여, 모든 방의 세부사항을 표시하라 (List the details of all rooms at the Growvenor Hotel, including the name of the guest staying in the room, if the room is occupied).

 

제답 : Subqueries 또는 Joins를 사용하랬는데 전혀 모르겠음. 가르쳐 주세요.

 

문7) Grosvenor 호텔에서 현재 빈방을 나타내시오 (List the rooms that are currently unoccupied at the Grosvenor Hotel).

 

제답 : 역시 Subqueries 또는 Joins를 사용하랬는데 전혀 감이 안옴. 가르쳐 주세요.

 

문8) 각 호텔에서 방의 수를 나타내시오 (List the number of rooms in each hotel).

 

제답 : SELECT hotelNo, Count(roomNo) AS myCount FROM Room GROUP BY hotelNo ORDER BY hotelNo

 

정말 도움이 많이 필요합니다. 도움을 주신 분들께 행운이 가득하기를......

이 글에 대한 댓글이 총 3건 있습니다.

문1) 조인해서 뽑아야 될것 같은데요..

문2) 이하이면 <= 이겠죠...  오름차순 정렬도 해야되구요..

문3) hotelNo 가 고유키라면 맞는거 같네요..

문4) 더블룸이 모두 찼을때인가요?

문5) 이것도 조인해야 할듯..

문6) 이것도 역시 조인..

문7) 현재빈방...  역시 조인...

문8) 조인해서 hotelName 이 나오도록 하면 더 좋을듯..

이경환(babocom)님이 2005-09-28 13:07에 작성한 댓글입니다.

이경환 님 답변 너무 감사합니다.

몇 가지 추가 질문 드릴게요.

 

문1), 5), 6), 7), 8) 조인하는 게 좋을 것이라고 말씀해 주셨는데 귀찮으시겠지만, 직접 조인 구문을 보여주심은 어떨지 제가 초보라서요.

 

문4) 더블룸이 다 찼을 때인데 다시 확인 좀 해주셨으면....

아이스님이 2005-10-05 01:28에 작성한 댓글입니다. Edit

문1) city='London' 만 가지고 알 수 있는 모든(?) 세부사항은...

호텔명, 방수, 현재 예약율, 현재 숙박한 사람의 이름,주소까지도 조인으로 알 수 있죠..

 

문4) 더블룸이 다 찼을때라고 가정한다면 모든 더블룸의 가격의 합이겠지요... 님이 만드신 쿼리가 맞겠네요..

이경환(babocom)님이 2005-10-05 11:31에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
1163쓰지 않는 table 명이 쿼리문에 있으면 성능이 떨어질까요??? [5]
초보
2005-10-13
9530
1162sub query 를 지원하는 DB ??? [2]
초보
2005-10-13
9558
1161DB용어 질문인데요... [2]
김정식
2005-10-04
11286
1159쿼리작성에 질문있습니다. [3]
아이스
2005-09-28
9895
1157RDBMS와 OODBMS에 대해서요...답변 꼭 부탁드려요~ [3]
초보요
2005-09-26
9797
1156E-R Diagram의 기본 이론에 대한 반론입니다..(고수님들 답변부탁드려요) [4]
전수현
2005-09-22
10627
1155아이디 생성 [2]
초보
2005-09-21
9386
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.052초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다