我執行的SQL語句:SQL - 未知表X
SELECT worker.*
FROM worker w JOIN
contract c
ON w.Worker_ID = c.Worker_ID
ORDER BY c.Holidays DESC
LIMIT 1;
結果:未知表 '工人'
如果我使用別名來代替,那麼它的工作原理:
SELECT w.*
FROM worker w JOIN
contract c
ON w.Worker_ID = c.Worker_ID
ORDER BY c.Holidays DESC
LIMIT 1;
結果:
Worker_ID Name
2 Klink
爲什麼它只在我使用別名時才起作用?
SQL小提琴:http://sqlfiddle.com/#!9/a840b/47
爲什麼你在第一個查詢中設置Alias w並不使用它? – DeeJay
別名在整個查詢中「重命名」表。如果同一個參考文獻名稱不止一個,就會令人困惑。 –
別名的整點,就是使用別名。如果你不想使用它,你爲什麼要走私它? – Kritner