From语句的含义

时间:2019-07-19 15:16:43

标签: sql sql-server

我正在开发一个示例Windowsform应用程序,当用户在数据网格视图的一行中双击时,该应用程序将打印报告。

对查询ecc的一些问题进行故障排除后,我在一个奇怪的from语句中运行,这是我从未见过的。

语句下面:

SELECT some_tables
FROM table1 table2 inner join table3 table4 on table2.id = table4.id

这种情况是我使用SQL事件探查器捕获的一个有效查询的结果,我需要这样做,因为上一个查询没有检索正确的数据。

我已经在互联网上搜索了该声明,但没有成功,因此详细说明了该怎么做?

2 个答案:

答案 0 :(得分:2)

编辑:我刚刚看到@Larnu说了与我相同的话,她是正确的^^

这里发生的是使用aliasyou can read about them here

FROM table1 table2 inner join table3 table4 on table2.id = table4.id

使用别名,其中table2table1的别名,而table4table3的别名。

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

这样,该语句也可以写成:

FROM table1 inner join table3 on table1.id = table3.id

答案 1 :(得分:1)

  1. table2table4是表table1table3的别名(通常是较短的名称)。

  2. inner join意味着两个表的记录是成对组合的,其中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