我有以下数据库并希望更新room
表。表格room
列出了单人房、双人房或特大床房型,价格为每间客房每晚的价格,酒店中的名称为酒店名称。
我需要做的是把所有双人房改成在斯科蒂酒店的特大号床房,而且价格也提高了 10%。
我知道如何在单个表中更新价格和类型,但似乎在这里我需要加入 HNO 上的酒店和房间,从而进行更新。嵌套查询可能吗?
create table Hotel (
HNo char(4),
Name varchar(20) not null,
Address varchar(50),
Constraint PK_Hotel Primary Key (HNo)
);
create table Room (
RNo char(4),
HNo char(4),
Type char(6) not null,
Price decimal (7,2),
Constraint PK_Room Primary Key (HNo, RNo),
Constraint FK_Room Foreign Key (HNo)
references Hotel (HNo)
);
create table Guest (
GNo char(4),
Name varchar(20) not null,
Address varchar(50),
Constraint PK_Guest Primary Key (GNo)
);
create table Booking (
HNo char(4),
GNo char(4),
DateFrom date,
DateTo date,
RNo char(4),
Constraint PK_Booking Primary Key (HNo, GNo, DateFrom),
Constraint FK_Booking Foreign Key (GNo)
references Guest (GNo),
Constraint FK_Booking_room Foreign Key (HNo, RNo)
references Room (HNo, RNo),
Constraint FK_Booking_hotel Foreign Key (HNo)
references Hotel (HNo)
);
我有两个主要问题:
是否可以对需要连接的表进行更新?
我想通过视图列出来宾。我可以创建一个包含酒店名称和曾入住酒店的不同客人数量的视图吗?