|
|
1
120
以上两种说法没有区别。作为一种更明确的提及别名的方式 |
|
2
37
在我之前回答的人都是对的。当有长查询或具有联接的查询时,可以将其用作表的别名快捷方式名称。这里有几个例子。 例1
例2
例3 使用a s关键字是一个很好的实践,也是非常推荐的,但是可以在没有AS关键字的情况下执行相同的查询(我经常这样做)。
如您所知,我在上一个示例中省略了As关键字。它可以用作别名。 例4
例4的输出
|
|
|
3
21
当你不确定该选择哪种语法时,尤其是当没有太多可供选择的语法时,可以参考一本关于启发式的书。据我所知,SQL的唯一启发性书籍是“Joe Celko的SQL编程风格”:
这样,如果你的团队不喜欢大会,你可以责怪塞尔科——我知道我喜欢;)
更新1:IIRC很长一段时间以来,Oracle不支持
更新2:术语“correlation name”虽然由SQL标准使用,但并不合适。基本概念是 range variable . 更新3:我只是重新读了塞尔科写的东西,他错了:表没有被重命名!我现在想:
|
|
|
4
12
这个
在这种情况下
对不起,如果我的解释无效。
更新
根据你的评论,你是对的,我之前的陈述是无效的。我能想到的唯一原因是
|
|
|
5
6
如果不使用“SELECT*”(这是一个你应该改掉的坏习惯),那么这个用法就更明显了:
|
|
|
6
4
这是一种为实体指定相关名称的形式化方法,以便您可以在查询的另一部分中轻松地对其进行寻址。 |
|
|
7
3
这个
|
|
|
8
2
在SQL的早期,它被选为解决如何处理重复列名问题的解决方案(见下面的注释)。 从另一个答案借用查询:
纵队
当然,更好的解决方案是从一开始就不允许重复的列名!很高兴,如果你用新的
但是为什么
在关系模型的早期,标题不分离的关系的叉积(或theta连接或equi连接)似乎产生了具有相同名称的两个属性的关系;Codd在他的关系演算中解决这个问题的方法是使用点限定,后来在SQL中进行了模拟(后来人们意识到,所谓的自然连接是原始的,不会丢失;也就是说,自然连接可以替换所有theta连接,甚至是交叉积) |
|
|
9
0
例如,如果使用SQL Server 2012中的查询编辑器设计查询,您将得到:
但是,删除AS并不会对以下内容产生任何影响:
在这种情况下,使用AS是多余的,但在许多其他地方它是必需的。 |
|
|
Johnny T · 基于当前值的SQL合并表[重复] 1 年前 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
ojek · 如何对SQL结果进行分组和编号? 1 年前 |
|
|
senek · 如何在PL/SQL中将选择结果(列)放入数组中 1 年前 |
|
|
Sax · 规范化Google表格(第一步) 1 年前 |
|
|
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 1 年前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 1 年前 |