PGSQL 查询语句
时间: 2025-06-17 08:06:02 浏览: 13
### PostgreSQL 查询语句 示例与语法
在 PostgreSQL 中,`SELECT` 是最基本的查询语句之一,用于从数据库中检索数据。以下是一些常见的 `SELECT` 语句示例及其语法说明。
#### 单列查询
如果只需要查询表中的某一列数据,可以直接指定该列名。例如:
```sql
SELECT name FROM company;
```
这条语句会返回 `company` 表中所有的 `name` 列值[^5]。
---
#### 多列查询
当需要查询多列的数据时,可以在 `SELECT` 后面列出这些列的名字,并用逗号分隔。例如:
```sql
SELECT name, age, salary FROM company;
```
此语句将返回 `company` 表中所有员工的姓名 (`name`)、年龄 (`age`) 和薪水 (`salary`) 的组合结果[^5]。
---
#### 查询所有列
为了简化操作,可以使用通配符 `*` 来表示查询表中的所有列。例如:
```sql
SELECT * FROM company;
```
这将返回 `company` 表中的全部数据,包括每一行和每一列的信息[^5]。
---
#### 带条件的查询 (WHERE 子句)
通过 `WHERE` 子句可以筛选满足特定条件的记录。例如,查询工资高于 20000 的员工信息:
```sql
SELECT * FROM company WHERE salary > 20000;
```
这里,只有那些薪资超过 20000 的记录会被显示出来。
---
#### 结合逻辑运算符的复杂条件
还可以利用逻辑运算符(如 `AND`, `OR`)构建更复杂的查询条件。比如,查找年龄小于等于 35 并且地址位于美国的员工:
```sql
SELECT * FROM company WHERE age <= 35 AND address LIKE '%USA%';
```
这里的 `%` 符号作为通配符匹配任意字符串。
---
#### 排序查询 (ORDER BY)
可以通过 `ORDER BY` 对查询结果进行排序,默认升序排列;若需降序,则加上关键字 `DESC`。例如按薪资高低顺序展示员工列表:
```sql
SELECT * FROM company ORDER BY salary DESC;
```
这样就可以看到最高薪到最低薪依次排列的结果集[^5]。
---
#### 聚合函数的应用
PostgreSQL 支持多种聚合函数来处理数值型字段统计分析工作。像计算平均数、求总和等功能都可以轻松实现。举个例子来说就是获取公司全体成员月薪总额以及他们的平均收入水平:
```sql
SELECT SUM(salary) AS total_salary, AVG(salary) AS avg_salary FROM company;
```
这段代码不仅给出了全体员工加起来总共赚取了多少薪酬(`total_salary`) ,同时也提供了他们每个人的月均所得情况(`avg_salary`)。
---
#### 分组汇总 (GROUP BY)
当我们想要根据不同类别分别统计数据的时候需要用到 GROUP BY 。比如说想知道各个年龄段里有多少个人员分布状况的话可以用下面这个命令来做这件事儿:
```sql
SELECT age, COUNT(*) as count_people FROM company GROUP BY age;
```
它按照不同的岁数组织人员数量并计数[^5]。
---
#### LIMIT 关键字控制输出条目数目
有时候只关心前几项符合条件的内容而不是整个集合,在这种情况下我们可以应用LIMIT限制最终呈现出来的项目总数。假设仅希望查看前三高薪者是谁那么就写成如下形式即可完成目标设定 :
```sql
SELECT * FROM company ORDER BY salary DESC LIMIT 3;
```
以上述方式能够有效减少不必要的大量资料浏览负担同时提高效率。
---
### 注意事项
- 所有的 SQL 语句通常以分号结尾 (;),这是告诉 PostgreSQL 当前指令已经结束的一个信号标志[^1]。
- 若存在连续两条以上的独立SQL表达式则同样依靠";"来进行彼此间的区分隔离作用。
阅读全文
相关推荐


















