现有两张表用于下面的演示:company、department.
多表查询
SQLite 的 Join 子句用于结合两个或多个数据库中表的记录。JOIN 是一种通过共同值来结合两个表中字段的手段。
SQL 定义了三种主要类型的连接:交叉连接 - CROSS JOIN、内连接 - INNER JOIN、外连接 - OUTER JOIN。
1、交叉连接(CROSS JOIN)把第一个表的每一行与第二个表的每一行进行匹配。如果两个输入表分别有 x 和 y 行,则结果表有 x*y 行。
select emp_id,dept,name from company cross join department;
2、内连接(INNER JOIN)根据连接谓词结合两个表(table1 和 table2)的列值来创建一个新的结果表。是最常见的连接类型,是默认的连接类型。INNER 关键字是可选的。
基本用法:
SELECT ... FROM table1 [INNER] JOIN table2 ON conditional_expression ...
如果匹配条件有多个列,也可以使用using
表达式
SELECT ... FROM table1 JOIN table2 USING (