假设我有3张桌子
预订表将是一个交叉点对象,因为乘客和预订表之间存在多对多的关系。
如何选择与特定预订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在我的机器上出现故障。
答案 0 :(得分:1)
是的,您的查询可用于获取特定预订ID的乘客和航班的详细信息。为了获得所有预订,我会添加一个ORDER BY bookingID,如果需要,还可以通过乘客姓名和航班登记。
答案 1 :(得分:0)
在不知道你的架构的情况下,没有办法确定,但这看起来对我很好。