SQLite - SELECT返回超过预期的查询

时间:2010-08-24 11:10:36

标签: sql sqlite

在下面我的SQLite数据库在每个表中有10个值。但是,在执行查询时,返回的结果大约为100。

 SELECT videoformat, audioformat FROM videocodec, audiocodec

为什么会这样做?

由于

2 个答案:

答案 0 :(得分:4)

你的SQL说:对于视频编码中的每一行,选择audiocodec中的所有行。这将给出10x10或100行。它相当于:

select  *
from    videocodec
cross join
        audiocodec

您可能意味着检索音频和视频编解码器。你可以用联盟做到这一点:

select  codecname
from    videocodec
union
select  codecname
from    audiocodec

答案 1 :(得分:1)

您将从两个表中获取所有行的组合,也称为笛卡尔积。 10 x 10 = 100。