允许在列名前写入tablename以使查询更准确。
例如。我有一个表“customer”,其中包含“name”列。可以在每个sql语句中写入“customer.name”而不是“name”吗? 我可以在create语句中使用long版本吗? 我知道长版本可以防止连接语句中的错误,所以为什么不一直使用它。
答案 0 :(得分:0)
INSERT / UDPATE / DELETE语句只能在单个表上运行,因此必须指定普通列名,并且不能使用别名重命名该表。 (好吧,DELETE没有指定列。)
但是,使用子查询时这是不同的;使用SELECT,所有功能都可用:
UPDATE MyTable -- no alias allowed
SET ParentName = -- no table name allowed
(SELECT T2.Name
FROM MyTable AS T2
WHERE T2.ID = MyTable.ParentID);