在http://www.w3schools.com/sql/sql_alias.asp,它提到用別名做下面的查詢,使用SQL別名與Inner Join有什麼不同?
SELECT
Orders.OrderID, Orders.OrderDate, Customers.CustomerName
FROM
Customers, Orders
WHERE
Customers.CustomerName = "Around the Horn"
AND Customers.CustomerID = Orders.CustomerID;
這讓我困惑與JOIN的使用。這種查詢不是連接兩個表中的列嗎?這種查詢和JOIN有什麼區別?
請勿使用w3schools作爲參考。 20世紀80年代使用逗號分隔的連接語法。在1992年,引入了顯式連接('INNER JOIN','LEFT OUTER JOIN','CROSS JOIN')等更好的語法。改用它。在你的情況:'從客戶INNER JOIN訂單ON Customers.CustomerID = Orders.CustomerID'。您可以爲表格使用別名,例如'客戶'和'o'代表'訂單'。然後你可以使用'o.OrderID'而不是'Orders.OrderID'等等,這使得查詢更容易閱讀。例如: - '客戶爲C JOIN命令o在c.CustomerID = o.CustomerID' –
爲字符串常量標準報價是單引號。你不應該使用雙引號。有些DBMS允許它們,但最好遵守標準。 (MySQL允許例如雙引號,但只有具有一定的數據庫設置。更改該設置並使用對字符串雙引號您所有的疑問變得無效。) –