使用数据库,需要用到多表联合查询,这是关系数据库的特点。sql查询的join有以下几种:
cross join 是笛卡儿乘积 就是一张表的行数乘以另一张表的行数
left join 第一张表的连接列在第二张表中没有匹配是,第二张表中的值返回null
right join 第二张表的连接列在第一张表中没有匹配是,第一张表中的值返回null
full join 返回两张表中的行 left join+right join
inner join 只返回两张表连接列的匹配项
sqlite的联表查询支持以下几种方式:
left join 、inner join、corss join,其他的方式都等同于以上三种
, == CROSS JOIN
JOIN == INNER JOIN
LEFT JOIN == LEFT OUTER JOIN
多表查询方法:
sqlite3可以有多种多表查询方法,比如 select (select * from table2) from table1 where xxx=xxx;
这种方法比较简单并且高效:
select table1.abc from table1,table2 where table1.xxx=table2.xxx;
或这种
select table1.abc from table1 inner join table2 on table1.xxx=table2.xxx;