从表中选择所有行和列

句法:

SELECT *
FROM table_name

使用星号运算符*作为选择表中所有列的快捷方式。还将选择所有行,因为此 SELECT 语句没有 WHERE 子句,以指定任何过滤条件。

如果你向表中添加别名,这也会以相同的方式工作,例如在这种情况下 e

SELECT *
FROM Employees AS e

或者,如果要从特定表中选择全部,可以使用别名+“。*”:

SELECT e.*, d.DepartmentName
FROM Employees AS e
    INNER JOIN Department AS d 
        ON e.DepartmentID = d.DepartmentID

也可以使用完全限定名称访问数据库对象:

SELECT * FROM [server_name].[database_name].[schema_name].[table_name]

不一定建议这样做,因为更改服务器和/或数据库名称会导致使用完全限定名称的查询由于无效的对象名称而不再执行。

请注意,如果查询分别在单个服务器,数据库和模式上执行,则在许多情况下可以省略 table_name 之前的字段。但是,数据库通常具有多个模式,在这些情况下,在可能的情况下不应省略模式名称。

警告: 在生产代码或存储过程中使用 SELECT *可能会导致以后出现问题(因为新列已添加到表中,或者如果列重新排列在表中),尤其是如果你的代码对列的顺序做出简单假设,或者返回的列数。因此,总是在 SELECT 语句中为生产代码显式指定列名更安全。

SELECT col1, col2, col3
FROM table_name