假设我有3个表的MySQL innerjoin 3表
- 乘客(ID [PK],名称)
- 飞机(注册[PK],NUM_SEATS)
- 预订(ID,passenger_id[FK - > Passenger.Id],airplane_registration[FK - > Airplane.registration])
由于Passenger和Booking表之间存在多对多关系,因此预订表将成为交汇点对象。
我怎样才能选择与某个预订ID相关的所有细节(比如'abcde')?
这是正确的:
SELECT Passenger.name, Airplane.num_seats, Booking.Id
FROM Booking
JOIN Passenger ON Passenger.Id = Booking.passenger_Id
JOIN Airplane ON Booking.airplane_registration = Airplane.registration
WHERE Booking.Id = 'abcde';
这是做正确的方式? 另外,如果我想选择所有预订和他们的详细信息,我是否会以同样的方式执行操作? (没有where子句)?
我一直在寻找这个测试是否正确,因为MySQL在我的机器上出现故障。
嗨OMG小马,我在格式上犯了错误吗?如果是这样,我做错了什么?谢谢 – Joeblackdev 2011-05-09 22:54:50
Salutations(IE:Hi)和陈词滥调(IE:谢谢)浪费了屏幕房地产(如果接受评级低于50% - 侮辱)。我尽可能提高可读性 - 更有可能你会得到帮助。 – 2011-05-09 23:01:02