Предположим, у меня было 3 стола
- Пассажир (Id [pk], имя)
- Самолет (регистрация [pk], num_seats)
- Бронирование (Id, passenger_id [fk -> Passenger.Id] , flight_registration [fk -> Airplane.registration] )
Здесь таблица бронирования будет соединительным объектом, так как между таблицами Passenger и Booking есть взаимосвязь между многими.
Как я могу выбрать все детали, связанные с конкретным идентификатором бронирования (скажем, «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 отключился на моей машине.