📚 目录

  1. 基本语法
  2. 选择所有列
  3. 选择特定列
  4. 使用 WHERE 子句进行条件筛选
  5. 排序结果
  6. 使用聚合函数
  7. 联合查询(UNION)
  8. 参考资料

🛠️ 基本语法

SELECT 语句用于从 PostgreSQL 数据表中检索数据。其基本语法如下:

SELECT column1, column2, ...
FROM table_name;

  • column1, column2, ...:要查询的列。
  • table_name:数据来源的表格。

📝 选择所有列

要选择表中的所有列,可以使用 * 来代替列名。

示例:

SELECT * FROM employees;

这个例子将返回 employees 表中的所有列和所有行。


🧑‍💼 选择特定列

如果只想选择表中的特定列,可以指定列名。

示例:

SELECT name, position FROM employees;

此查询将仅返回 nameposition 两个列的数据。


🔍 使用 WHERE 子句进行条件筛选

WHERE 子句用于指定查询的条件,从而筛选出符合条件的行。

示例:

SELECT * FROM employees
WHERE position = 'Manager';

此查询将返回所有职位为 Manager 的员工。

你可以使用多种条件操作符(如 =, >, <, BETWEEN, IN, LIKE 等)进行筛选。

示例(使用 LIKE):

SELECT * FROM employees
WHERE name LIKE 'J%';

此查询将返回所有名字以 J 开头的员工。


🔽 排序结果

你可以使用 ORDER BY 子句对查询结果进行排序,默认按升序(ASC)排列。使用 DESC 可以按降序排列。

示例(升序):

SELECT * FROM employees
ORDER BY salary;

示例(降序):

SELECT * FROM employees
ORDER BY salary DESC;

这个查询将返回按薪资升序或降序排列的所有员工数据。


🔢 使用聚合函数

PostgreSQL 提供了多种聚合函数,用于对数据进行汇总操作,如 COUNT()SUM()AVG()MIN()MAX()

示例(计数):

SELECT COUNT(*) FROM employees;

此查询将返回 employees 表中所有行的计数。

示例(求和):

SELECT SUM(salary) FROM employees;

此查询将返回 employees 表中所有员工的薪资总和。


🔗 联合查询(UNION)

你可以使用 UNION 将多个 SELECT 查询的结果合并为一个结果集,前提是所有查询的列数和数据类型一致。默认情况下,UNION 会去除重复记录,如果需要包括重复记录,可以使用 UNION ALL

示例:

SELECT name FROM employees WHERE position = 'Manager'
UNION
SELECT name FROM employees WHERE position = 'Developer';

这个查询将返回职位为 ManagerDeveloper 的员工姓名。


📘 参考资料