Sql From语句的含义

Sql From语句的含义,sql,sql-server,Sql,Sql Server,我正在开发一个示例windowsform应用程序,当用户双击数据网格视图的一行时,它会打印报告 在排除了查询ecc的一些问题之后,我运行了一个奇怪的from语句,这是我从未见过的 声明如下: SELECT some_tables FROM table1 table2 inner join table3 table4 on table2.id = table4.id 这个statement是我使用SQL profiler捕获的一个工作查询的结果,我需要这样做,因为前面的查询没有检索到正确的数据

我正在开发一个示例windowsform应用程序,当用户双击数据网格视图的一行时,它会打印报告

在排除了查询ecc的一些问题之后,我运行了一个奇怪的
from
语句,这是我从未见过的

声明如下:

SELECT some_tables
FROM table1 table2 inner join table3 table4 on table2.id = table4.id
这个statement是我使用SQL profiler捕获的一个工作查询的结果,我需要这样做,因为前面的查询没有检索到正确的数据


我已经在互联网上搜索过了,但是没有成功,所以在细节上它做了什么?

编辑:我刚刚看到@Larnu说了和我一样的话,她是正确的^^

这里使用的是
别名


正在使用别名,
table2
table1
的别名,
table4
table3
的别名

您可以创建以下关联:
table2=table1
table4=table3

因此,该声明也可以写成:

FROM table1 inner join table3 on table1.id = table3.id
  • table2
    table4
    是表
    table1
    table3
    的别名(通常较短的名称)

  • 内部联接
    意味着两个表的记录成对组合,其中
    table2.id
    必须匹配
    table4.id

  • 例如:

    table1
    id  description
    --  -----------
     1  Apple
     2  Orange
     3  Pear
    
    table2
    id  name
    --  -----
    1   Peter
    1   Sue
    2   Marc
    
    询问

    SELECT
        a.id, a.description, b.name
    FROM
        table1 a
        INNER JOIN table2 b
            ON a.id = b.id
    
    结果

    id  description  name
    --  -----------  ----
     1  Apple        Peter
     1  Apple        Sue
     2  Orange       Marc
    

    table2
    table1
    的别名,
    table4
    table3
    的别名。我怀疑上面的内容过于简化,因为没有(理智的)人会真的对这样的对象使用别名。(很好)别名很常见,有助于使SQL非常可读。@FredrikSchön认为SQL完全有效。是的,是我误读了。:)在我删除它之前,那条评论肯定已经出现了2秒钟左右。你真快!
    id  description  name
    --  -----------  ----
     1  Apple        Peter
     1  Apple        Sue
     2  Orange       Marc