【问题标题】:Select from multiple tables shows no results if one is empty sqlite如果一个为空 sqlite,则从多个表中选择不显示任何结果
【发布时间】:2023-03-18 01:29:01
【问题描述】:

我在 android 中使用它,但使用 SQLite Studio 2.1.4 进行测试。

我有两张桌子:A 和 B。 A 有 2 条记录,B 没有记录。

如果我查询

select * from A

我在那个表中得到了结果,这很好。

如果我查询

select * from B

我没有得到任何结果,这也很好。

但是,如果我查询:

select * from A, B

我也没有得到结果,这是错误的……我应该从 A 那里得到结果,对吧?

或者 SQLite 与其他 DBMS 有什么不同?

【问题讨论】:

    标签: android sql select sqlite


    【解决方案1】:

    SELECT * from A, B 是两个表的笛卡尔连接。换句话说,表 A 中的每一行都连接到表 B 中的每一行。因此,如果 A 有 5 行,B 有 10 行,那么最终结果集中有 50 行。在这种情况下,表 B 的行数为零,因此无论 A 包含多少行,都不会返回任何行。

    您会在所有关系数据库中发现相同的行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-28
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      • 2018-01-18
      • 2020-11-22
      • 2017-04-06
      相关资源
      最近更新 更多