MySQL 3 таблицы внутреннего соединения

Предположим, у меня было 3 таблицы

  • Пассажир (идентификатор [pk], имя)
  • Самолет (регистрация [pk], num_seats)
  • Бронирование (Id, Passenger_id [fk -> Passenger.Id] , airplane_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 отключился на моей машине.

6
задан Joeblackdev 9 May 2011 в 22:59
поделиться