《SQL实战》书摘(12):查找部分列

通常情况下,比较实用的做法是限制查询检索的列,以此来避免涉及过量信息,这对于大型数据库来说尤为重要。为此,你可以在SELECT关键字后面指名想要检索的列,并使用逗号分隔它们。下面是一个例子:

SELECT some_column, another_column, amazing_column FROM table_name;

在使用这种语法的情况下,查询只会从所有行里面检索这三个列的数据。让我们把这种做法应用到teachers表。

假设你的分析只关心教师的名字和薪水。在这种情况下,你可以只选择相关的列,就像代码清单3-2所做的那样。请注意,查询中的列顺序和表中的列顺序是不一样的:你可以使用自己想要的任何顺序检索列。

SELECT last_name, first_name, salary FROM teachers;

代码清单3-2:查询一部分列

现在,我们将结果集的数据限制为只有三列:

last_name   first_name  salary
---------   ----------  ------
Smith       Janet       36200
Reynolds    Lee         65000
Cole        Samuel      43500
Bush        Samantha    36200
Diaz        Betty       43500
Roush       Kathleen    38500

尽管这些例子都非常基本,但它们展现了一个良好的策略,告诉你该如何开始访问数据集。一般来说,明智的做法是在进行分析之前先检查数据是否存在,还有数据的格式是否符合预期,这种任务非常适合用SELECT来完成。日期的格式是否正确地包含了日、月、年,又或者(像我曾经遗憾地观察到的那样)只记录了文本形式的月和年?是否每一行的每一列都有值?是否由于某种莫名的原因,除了以字母M开头的姓氏之外,没有其他任何姓氏?从丢失数据到工作流中的某处保存了劣质的记录,任何问题都有可能会发生。

尽管现在我们只是在处理一个包含六个行的表,但是当你面对一个拥有数千行甚至数百万行的表时,快速地了解数据的质量以及它们能够容纳的取值范围就显得至关重要了。为了做到这一点,我们需要更加深入地了解SQL,并在有需要的地方添加几个SQL关键字。

Tip

本文摘录自《SQL实战》一书,欢迎访问本书主页以了解更多相关信息:huangz.works/sql/

../_images/psqlcn-banner.jpg