0
現在的問題是:您想成爲第一個爲航班預訂和選擇座位的人。查找所有沒有預訂的航班的flight_num
和日期。SQL查詢:尋找空
從以下表:
Flights
(flight_num, source_city, dest_city
)Departures
(flight_num, date, plane_type
)Passengers
(passenger_id, passenger_name, passenger_address
)Bookings
(passenger_id, flight_num, date, seat_number
)
我的回答是:
SELECT D.flight_num, D.date
FROM DEPARTURES D, BOOKINGS B
WHERE B.passenger_id = NULL
我知道這是錯誤的,但誰能告訴我爲什麼?這是什麼答案?
除了其他的事情,你希望'是null'來檢查空值。 – 2014-10-08 18:06:07
[踢壞的習慣:使用舊式JOIN](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins。 aspx) - 在ANSI - ** 92 ** SQL標準(**超過20年前的**)中,舊式*逗號分隔的表*樣式列表被替換爲* proper * ANSI'JOIN'語法它的使用是不鼓勵的。現在,如果沒有**任何**連接條件,您基本上會得到一個**笛卡爾產品** - 每個行中的'Departures'與'Bookings'中的每一行相結合 - 最有可能**不是**您需要的! – 2014-10-08 18:07:31
你是從課本中還是從書中學到的?如果是這樣,升級或退款的時間。我認爲這些舊式的連接是羅馬人發明的。 – GolezTrol 2014-10-08 18:08:15