主题
多表连接
多表连接用于从多个表中组合数据,根据表间的相关字段匹配,实现复杂数据查询。你还可以结合 聚合查询 或 子查询 来进一步处理连接后的数据。
内连接(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
,用于不同场景的数据组合。
通过多表连接,用户可以灵活整合多张表数据,满足复杂查询需求。