在 SQLite 中,你可以使用 JOIN 操作来根据 ID 关联查询两个表。以下是几种常见的关联查询方法:
最常用的关联方式,只返回两个表中匹配的记录:
SELECT a.*, b.*
FROM table1 a
INNER JOIN table2 b ON a.id = b.table1_id;
返回左表的所有记录,即使右表中没有匹配:
SELECT a.*, b.*
FROM table1 a
LEFT JOIN table2 b ON a.id = b.table1_id;
可以一次关联多个表:
SELECT a.*, b.*, c.*
FROM table1 a
INNER JOIN table2 b ON a.id = b.table1_id
LEFT JOIN table3 c ON a.id = c.table1_id;
虽然不推荐,但也可以使用 WHERE 子句实现连接:
SELECT a.*, b.*
FROM table1 a, table2 b
WHERE a.id = b.table1_id;
当需要关联同一个表时:
SELECT a.*, b.*
FROM employees a
INNER JOIN employees b ON a.manager_id = b.id;
假设有两个表:
- users(id, name, email)
- orders(id, user_id, amount, date)
查询用户及其订单:
SELECT users.name, users.email, orders.amount, orders.date
FROM users
INNER JOIN orders ON users.id = orders.user_id
WHERE users.id = 123;
SELECT *
通过以上方法,你可以灵活地在 SQLite 中实现基于 ID 的表关联查询。