温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

数据库Inner Join怎么用

发布时间:2026-10-11 21:42:03 来源:亿速云 阅读:110 作者:小樊 栏目:数据库

在数据库中,INNER JOIN(内连接) 是最常用的表连接方式之一,用来只返回两个表中满足连接条件的记录。


一、基本语法

SELECT 列名
FROM 表A
INNER JOIN 表B
ON 表A.关联字段 = 表B.关联字段;

✅ 只返回:表A 和 表B 中都存在且满足条件的数据


二、简单示例

示例表

users 表

id name
1 张三
2 李四
3 王五

orders 表

order_id user_id amount
101 1 200
102 2 150
103 4 300

查询有订单的用户

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

查询结果

id name order_id amount
1 张三 101 200
2 李四 102 150

⚠️ 王五(无订单)和 order_id=103(用户不存在)都不会出现


三、常见写法变体

1️⃣ 使用别名(推荐)

SELECT u.id, u.name, o.order_id
FROM users u
INNER JOIN orders o
ON u.id = o.user_id;

2️⃣ 多表 INNER JOIN

SELECT u.name, o.order_id, p.product_name
FROM users u
INNER JOIN orders o ON u.id = o.user_id
INNER JOIN products p ON o.product_id = p.id;

3️⃣ 带 WHERE 条件

SELECT u.name, o.amount
FROM users u
INNER JOIN orders o ON u.id = o.user_id
WHERE o.amount > 100;

四、INNER JOIN vs LEFT JOIN

类型 返回结果
INNER JOIN 两表都匹配的数据
LEFT JOIN 左表全部 + 右表匹配(无匹配为 NULL)

五、常见错误

❌ 忘记 ON 条件(会变成笛卡尔积)
❌ 关联字段类型不一致
❌ 使用错误字段名


如果你有具体表结构或业务场景(比如学生-成绩、订单-用户),我可以直接帮你写 SQL。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手