教程 sqlite tutorial

多表连接

多表连接用于从多个表中组合数据,根据表间的相关字段匹配,实现复杂数据查询。你还可以结合 聚合查询 或 子查询 来进一步处理连接后的数据。

内连接(INNER JOIN)

只返回两个表中匹配的记录。

sql
SELECT a.column1, b.column2
FROM tableA a
INNER JOIN tableB b ON a.key = b.key;

示例:查询用户及其订单信息

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

左连接(LEFT JOIN)

返回左表所有记录,以及右表匹配的记录,右表无匹配时返回 NULL。

sql
SELECT a.column1, b.column2
FROM tableA a
LEFT JOIN tableB b ON a.key = b.key;

示例:查询所有用户及其订单(无订单用户也显示)

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

其他连接

SQLite 还支持 CROSS JOIN 和 SELF JOIN,用于不同场景的数据组合。

通过多表连接,用户可以灵活整合多张表数据,满足复杂查询需求。