18 数据查询之6.1 SELECT语句

在本章中,我们将深入探讨SQL查询的核心——SELECT语句。掌握SELECT语句是使用PostgreSQL进行数据操作的第一步。它允许我们从数据库中提取数据,这对于后续数据分析和处理至关重要。

6.1 SELECT语句的基本语法

SELECT语句的基本结构如下:

1
2
SELECT [列名1], [列名2], ...
FROM [表名]
  • SELECT后面跟随的是想要查询的列名,多个列名可以用逗号分隔。
  • FROM后面指定了要查询数据的表名。

示例

假设我们有一个名为employees的表,其中存储了员工的信息。表的结构如下:

id name position salary
1 Alice Manager 70000
2 Bob Developer 60000
3 Charlie Designer 55000

我们可以使用以下SELECT语句来查询所有员工的姓名和职位:

1
2
SELECT name, position
FROM employees;

执行这条语句的结果如下:

name position
Alice Manager
Bob Developer
Charlie Designer

选择所有列

如果想要查询表中的所有列,可以使用*通配符:

1
2
SELECT *
FROM employees;

这将返回employees表中的所有信息。

6.1.1 DISTINCT关键字

在查询中,有时我们只希望得到唯一的结果,而不重复的数据。为了实现这一点,我们可以在SELECT语句中使用DISTINCT关键字。例如,如果我们想查询不同的职位,可以采取以下形式:

1
2
SELECT DISTINCT position
FROM employees;

这一查询将仅返回每种职位的一个实例,结果如下:

position
Manager
Developer
Designer

6.1.2 列的别名

在某些情况下,为了提高查询结果的可读性,我们可能需要给查询的列设置别名。这可以通过使用AS关键字来实现。例如,我们可以为salary列设置一个别名:

1
2
SELECT name AS employee_name, salary AS employee_salary
FROM employees;

结果将显示为:

employee_name employee_salary
Alice 70000
Bob 60000
Charlie 55000

6.1.3 排序查询结果

有时我们希望按特定顺序查看查询结果。可以使用ORDER BY子句来实现这一点。以下是按照salary列从高到低排序的查询示例:

1
2
3
SELECT name, salary
FROM employees
ORDER BY salary DESC;

查询结果将是:

name salary
Alice 70000
Bob 60000
Charlie 55000

6.1.4 限制查询结果的数量

在某些情况下,我们只希望得到查询的前几条记录。可以使用LIMIT子句来限制结果的数量。例如,获取薪水最高的两名员工:

1
2
3
4
SELECT name, salary
FROM employees
ORDER BY salary DESC
LIMIT 2;

执行结果为:

name salary
Alice 70000
Bob 60000

6.1.5 组合多个查询

PostgreSQL允许使用联合查询(UNION)将多个SELECT查询的结果组合在一起。注意,联合的查询必须拥有相同数目和数据类型的列。例如,我们如果有两个不同的表(employeescontractors),可以将其姓名信息整合:

1
2
3
SELECT name FROM employees
UNION
SELECT name FROM contractors;

这个查询会返回employeescontractors表中所有唯一的姓名。

6.1.6 小结

在本节中,我们探讨了SELECT语句的基本用法,包括选择列、使用DISTINCT去重、设置别名、排序和限制结果数量等高级特性。SELECT语句是数据查询的基石,掌握其用法将使您在PostgreSQL的学习和使用中更加得心应手。

接下来的内容将进入WHERE条件的使用,帮助您在查询中添加更复杂的过滤条件,为数据提取提供更高的灵活性和精确度。请继续阅读下一节!

18 数据查询之6.1 SELECT语句

https://zglg.work/postgresql-database-zero/18/

作者

IT教程网(郭震)

发布于

2024-08-15

更新于

2024-08-16

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论