📚 目录
🛠️ 基本语法
SELECT
语句用于从 PostgreSQL 数据表中检索数据。其基本语法如下:
SELECT column1, column2, ...
FROM table_name;
column1, column2, ...
:要查询的列。table_name
:数据来源的表格。
📝 选择所有列
要选择表中的所有列,可以使用 *
来代替列名。
示例:
SELECT * FROM employees;
这个例子将返回 employees
表中的所有列和所有行。
🧑💼 选择特定列
如果只想选择表中的特定列,可以指定列名。
示例:
SELECT name, position FROM employees;
此查询将仅返回 name
和 position
两个列的数据。
🔍 使用 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';
这个查询将返回职位为 Manager
或 Developer
的员工姓名。
📘 参考资料
- PostgreSQL 官方文档:SELECT
- 更多 PostgreSQL 查询技巧整理自:www.52kanjuqing.com
发表回复