查询基础

使用 HarborDB 强大的查询编辑器编写、执行和管理 SQL 查询的基础知识。

Guides
最后更新: 2026年2月16日

欢迎来到 HarborDB 的 SQL 查询世界!本指南将教您使用 HarborDB 强大的查询编辑器编写、执行和管理 SQL 查询的基础知识。

HarborDB 中的 SQL 简介

HarborDB 的查询编辑器旨在使编写和执行 SQL 查询变得直观高效。无论您是检索数据、更新记录还是创建数据库对象,HarborDB 都提供了一种简化的工作流程,具有语法高亮、自动补全和实时结果等功能。

查询编辑器的关键功能

  • 语法高亮:SQL 关键字、函数和字面量被颜色编码以提高可读性
  • 自动补全:在您输入时建议表名、列名和 SQL 关键字
  • 多标签页:在单独的标签页中同时处理多个查询
  • 结果窗格:在编辑器下方立即查看查询结果
  • 导出选项:一键将结果导出为 CSV 或 JSON
  • 查询历史:访问最近执行的查询
  • 书签:保存常用查询以便快速访问

编写您的第一个查询

基本的 SELECT 语句

最基本的 SQL 查询从表中检索数据:

SELECT * FROM users;

这个查询:

  • SELECT *:返回表中的所有列
  • FROM users:指定要查询的表
  • ;:终止语句(在 HarborDB 中可选)

选择特定列

要仅检索特定列:

SELECT first_name, last_name, email FROM users;

限制结果

处理大型表时,限制结果是一个好习惯:

SELECT * FROM orders LIMIT 10;

查询编辑器界面

主要组件

  1. 编辑器区域:在此处编写 SQL 查询
  2. 工具栏:执行、取消、格式化和导出控制
  3. 结果窗格:显示查询结果和执行信息
  4. 状态栏:显示连接信息、行数和执行时间

键盘快捷键

| 快捷键 | 动作 | | ------------- | ------------------ | | ⌘ + R | 执行查询 | | ⌘ + . | 取消查询 | | ⌘ + T | 新建查询标签页 | | ⌘ + W | 关闭当前标签页 | | ⌘ + S | 保存查询 | | ⌘ + F | 在查询中查找 | | ⌘ + / | 切换注释 | | Tab | 缩进选定内容 | | Shift + Tab | 取消缩进选定内容 |

执行查询

逐步执行

  1. 在编辑器中编写查询
  2. 点击运行按钮(▶)或按 ⌘ + R
  3. 在结果窗格中查看结果
  4. 在状态栏中检查执行信息

部分查询执行

您可以仅执行查询的一部分:

  1. 选择要执行的文本
  2. 右键单击并选择"执行选定内容"
  3. 或使用键盘快捷键 ⌘ + Shift + R

执行结果

运行查询后,您将看到:

  • 结果网格:数据显示在可排序、可筛选的表格中
  • 行数:返回的总行数
  • 执行时间:查询执行所需的时间
  • 消息:来自 PostgreSQL 的任何消息(特别是对于 DML 查询)

使用 WHERE 筛选数据

基本的 WHERE 子句

SELECT * FROM products WHERE price > 100;

多个条件

SELECT * FROM orders
WHERE status = 'shipped'
  AND order_date >= '2024-01-01';

使用 LIKE 进行模式匹配

SELECT * FROM customers
WHERE email LIKE '%@gmail.com';

SELECT * FROM products
WHERE name LIKE 'Pro%';

NULL 值

-- 查找 email 为 NULL 的行
SELECT * FROM users WHERE email IS NULL;

-- 查找 email 不为 NULL 的行
SELECT * FROM users WHERE email IS NOT NULL;

使用 ORDER BY 排序结果

升序排序(默认)

SELECT * FROM products ORDER BY price;

降序排序

SELECT * FROM products ORDER BY price DESC;

多个排序列

SELECT * FROM employees
ORDER BY department, last_name, first_name;

处理结果

查看结果

  • 滚动:使用鼠标或键盘浏览结果
  • 排序:点击列标题进行升序/降序排序
  • 筛选:右键单击列标题以筛选值
  • 调整大小:拖动列边框以调整宽度
  • 重新排序:拖动列标题以重新排列列

单元格操作

  • 复制单元格:双击单元格或按 ⌘ + C
  • 编辑单元格:双击并编辑(仅限本地更改)
  • 查看完整内容:悬停在截断的单元格上以查看工具提示

导出结果

  1. 点击工具栏中的导出按钮
  2. 选择格式:CSV 或 JSON
  3. 选择目标:保存到文件或复制到剪贴板
  4. 配置选项:分隔符、编码、标题行

保存和组织查询

保存查询

  1. 点击保存⌘ + S)或保存图标
  2. 选择位置:本地文件或 HarborDB 库
  3. 添加元数据:名称、描述、标签

查询库

在文件夹中组织保存的查询:

  • 收藏夹:标记常用查询
  • 最近:自动跟踪最近使用的查询
  • 标签:使用自定义标签对查询进行分类

查询模板

为常见查询创建可重用的模板:

-- 模板:查找不活跃用户
SELECT user_id, email, last_login
FROM users
WHERE last_login < CURRENT_DATE - INTERVAL '90 days'
  AND active = true;

常见查询模式

计数记录

SELECT COUNT(*) FROM users;
SELECT COUNT(DISTINCT country) FROM customers;

聚合数据

SELECT
  category,
  COUNT(*) as product_count,
  AVG(price) as avg_price,
  MIN(price) as min_price,
  MAX(price) as max_price
FROM products
GROUP BY category;

日期/时间查询

-- 今天的订单
SELECT * FROM orders WHERE order_date = CURRENT_DATE;

-- 最近7天
SELECT * FROM logs
WHERE log_date >= CURRENT_DATE - INTERVAL '7 days';

-- 按月统计
SELECT
  EXTRACT(MONTH FROM order_date) as month,
  COUNT(*) as order_count
FROM orders
GROUP BY EXTRACT(MONTH FROM order_date)
ORDER BY month;

连接表

SELECT
  o.order_id,
  o.order_date,
  c.first_name,
  c.last_name,
  c.email
FROM orders o
JOIN customers c ON o.customer_id = c.customer_id
WHERE o.status = 'completed';

最佳实践

1. 从 SELECT * 开始

探索新表时,使用 SELECT * 查看所有列,然后细化为特定列。

2. 使用 LIMIT

查询不熟悉的表时,始终使用 LIMIT 以避免结果过多。

3. 格式化您的查询

使用一致的格式化以提高可读性:

  • 关键字大写
  • 复杂查询使用缩进
  • 长子句使用换行

4. 注释您的代码

为复杂查询添加注释:

-- 按产品类别计算月度收入
-- 排除退款订单和测试账户
SELECT
  DATE_TRUNC('month', order_date) as month,
  category,
  SUM(amount) as total_revenue
FROM orders
WHERE status != 'refunded'
  AND customer_id NOT IN (SELECT customer_id FROM test_accounts)
GROUP BY DATE_TRUNC('month', order_date), category
ORDER BY month DESC, total_revenue DESC;

5. 使用 WHERE 1=0 进行测试

在不获取数据的情况下查看列结构:

SELECT * FROM large_table WHERE 1=0;

常见问题故障排除

"关系不存在"

  • 检查表名拼写和大小写敏感性
  • 验证您是否连接到正确的数据库
  • 确保您具有适当的权限

"列不存在"

  • 验证 SELECT 子句中的列名
  • 检查拼写错误
  • 首先使用 SELECT * 查看所有可用列

慢查询

  • 添加 LIMIT 以测试性能
  • 检查缺失的索引
  • 使用 EXPLAIN 分析查询计划
  • 考虑服务器端性能因素

连接错误

  • 验证连接是否活动
  • 检查网络连接性
  • 确认 PostgreSQL 服务器正在运行

后续步骤

现在您理解了查询基础:

  1. 使用自己的数据库表进行练习
  2. 探索高级查询技术指南
  3. 了解导出数据
  4. 尝试性能优化技术

快速参考

基本 SQL 子句

  • SELECT - 选择要返回的列
  • FROM - 指定要查询的表
  • WHERE - 筛选行
  • ORDER BY - 排序结果
  • LIMIT - 限制行数
  • GROUP BY - 聚合数据
  • HAVING - 筛选聚合数据

常见函数

  • COUNT() - 计数行
  • SUM() - 求和值
  • AVG() - 平均值
  • MIN()/MAX() - 查找极值
  • COALESCE() - 处理 NULL 值
  • CONCAT() - 组合字符串
  • EXTRACT() - 获取日期部分

这对您有帮助吗?

通过提供反馈帮助我们改进此文档。