SQL JOIN 多表查询的基本使用

举报
拉尼亚凯亚 发表于 2026/10/23 09:47:47 2026/10/23
【摘要】 SQL JOIN 多表查询的基本使用SQL 中的 JOIN 用于关联多个数据表,可以根据共同字段查询相关数据,常用于用户订单、商品信息和业务数据统计。创建查询示例假设有两个表:users 保存用户信息,orders 保存订单信息。-- users 表SELECT id, name FROM users;-- orders 表SELECT user_id, amount FROM orders...

SQL JOIN 多表查询的基本使用

SQL 中的 JOIN 用于关联多个数据表,可以根据共同字段查询相关数据,常用于用户订单、商品信息和业务数据统计。

创建查询示例

假设有两个表:users 保存用户信息,orders 保存订单信息。

-- users 表
SELECT id, name FROM users;

-- orders 表
SELECT user_id, amount FROM orders;

使用 INNER JOIN

INNER JOIN 只返回两个表中能够匹配的数据:

SELECT users.name, orders.amount
FROM users
INNER JOIN orders
ON users.id = orders.user_id;

这条语句会查询每笔订单对应的用户名和订单金额。

使用 LEFT JOIN

LEFT JOIN 会保留左表的所有记录,即使右表没有匹配数据:

SELECT users.name, orders.amount
FROM users
LEFT JOIN orders
ON users.id = orders.user_id;

即使某个用户没有订单,该用户仍然会出现在查询结果中,对应的 orders.amount 为 NULL。

两种 JOIN 的区别

  • INNER JOIN:只保留匹配成功的记录。

  • LEFT JOIN:保留左表全部记录,匹配不到的右表字段为 NULL。

JOIN 是数据库开发中的核心功能,适合关联用户、订单、商品等不同业务表,避免将所有数据重复存储在同一张表中。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。