3

我想知道为什么当我使用 MySQL 查询浏览器并双击表名时,sql 语句看起来像这样:

SELECT * FROM database.table t;

其中 t = 表格的第一个字母...这个字母的用途是什么?我只是好奇

4

5 回答 5

7

t是表的别名。在使用以下方式编写查询时它会有所帮助:

  • 选择列表中的许多列

  • (许多)连接写完整的表名将是不可读的

    Foo f INNER JOIN Customers c on c.ID = f.CustomerID LEFT JOIN BAR b on b.ID=f.ID

  • 如果你想要同一张表的 2+ 个副本,你可以用不同的名字给它们起别名:

    Invoices i LEFT JOIN Invoices i2 on i.ID = i2.MasterInvoiceID

  • 长的表/视图名称会很麻烦继续写/读。命名约定有时是罪魁祸首。想象一个像这样的数据仓库表:

    InvoicesThatAreOverdue_Temp_Holding_20101128

这不是必需的,但 MySQL 查询浏览器正在帮助推广别名的使用。希望它可以帮助开发人员编写可读的代码!

于 2010-11-02T17:35:17.543 回答
3

它是一个别名,可让您缩短参考文献

例如

Select * from table1 t1
Inner Join table2 t2 on t1.PK = t2.FK

而不是这个

Select * from table1 
Inner Join table2 on table1.PK = table2.FK
于 2010-11-02T17:36:59.540 回答
2

它被称为别名:)

在 SQL 中,可以为表或列指定别名。您可以使用别名为表或列指定另一个名称。如果您有非常长或复杂的表名或列名,这可能是一件好事。

于 2010-11-02T17:36:30.930 回答
1

您实际上是在使用快捷方式(别名)为表指定一个新名称。

// this is the full command but you can leave out AS if you want
SELECT * FROM database.table AS t;

当您连接多个表时,表别名对于较大的查询非常有用。

于 2010-11-02T17:36:17.000 回答
1

这是一个表别名。这是一个关于使用别名的简短教程。

于 2010-11-02T17:36:27.670 回答