SQL SELECT 语句

SQL Server 的 SELECT 语句从一个或多个数据库表中检索数据。在本文中,我们将通过示例演示如何编写 SELECT 语句,以及该语句的语法如下:

SELECT [Column Names]
FROM Source

列:从表中选择一个或多个数字。

SQL SELECT 语句返回表中的所有记录。如果要限制行数,请使用 WHERE 或 TOP 子句。要从多个数据库表中选择数据,可以使用 Joins。

我们使用这些数据来解释 Select 语句。

Customer Table 0

SQL Server 选择所有列示例

在此 SELECT 语句示例中,我们使用星号 (*) 选择 customers 表中存在的所有列。在此语句中,* 是代表源表中所有可用列的快捷方式。

SELECT *
FROM [Customer]
SQL SELECT * Statement 1

SQL SELECT * FROM 语句的问题

  • Select * from 语句将从表中检索所有列。大多数时候,我们不需要表中的所有列。因此,请避免使用 * 来选择所有列名。
  • select * from 将按默认顺序选择列。有时我们可能需要更改显示列的顺序。
  • 如果基础表有任何更改(重新排序列、删除或添加列),使用 SELECT * 创建的视图将不会反映出来。

请不要在实际中使用 SELECT * FROM 语句,即使是为了检索表中存在的所有列。第二种方法是在 SELECT 关键字后放置所有列名。例如,上面的查询与以下查询相同:

SELECT [FirstName]
      ,[LastName]
      ,[YearlyIncome]
      ,[Education]
      ,[Occupation]
FROM [Customer]
Select Example 2

SQL SELECT 部分列语句

在实际中,表中的所有列并非都是如此。因此,您可以在此语句中限制它们。因为会有一些列,如条形码、rowguid、照片等,这些可能不需要。

为此,此语句允许我们通过在 SELECT 关键字后放置所需的列名来从表中选择部分或任何特定列。

SELECT [FirstName]
      ,[LastName]
      ,[Occupation]
      ,[YearlyIncome]
FROM [Customer]
SELECT Statement 3

注意:如果我们忘记在列之间添加逗号,则 SQL Server 会将第二列视为第一列的 别名。所以,请小心。

Management Studio 选择示例

Management Studio 中,导航到所需的数据库,然后选择所需的表。右键单击该表将打开带有不同选项的上下文菜单。

SELECT Top 1000 Statement 4

从上面的上下文菜单中,我们必须选择“Top 1000 Rows”选项。此选项为我们生成 SQL SELECT 语句。要查看所有记录,请从上述语句中删除 TOP Clause(Top 1000)。

Top 1000 5