我记得在为信息服务硕士学生开设的 DBMS 课程中学习过这样做。为了节省一些输入,您可以输入:
SELECT t1.id, t2.stuff
FROM
someTable t1
INNER JOIN otherTable t2
ON t1.id=t2.id
;
Run Code Online (Sandbox Code Playgroud)
但是......为什么这在存储过程等中是可以接受的?似乎它所做的只是损害了语句的可读性,同时节省了极少的时间。这样做是否有任何功能或逻辑原因?它似乎增加了歧义而不是消除它;我可以看到使用这种格式的唯一可接受的原因是,如果您添加了一个语义上有意义的别名——例如FROM someTable idsTable——当表名不够描述时。
表别名是不好的做法还是只是滥用有用的系统?