当前位置: 首页 > 面试题库 >

当一个表在MySQL中为空时选择多个表

益承颜
2023-03-14
问题内容

我正在努力

SELECT * FROM a, b

但是,如果其中一个表为空,它将不返回任何内容。我如何使它返回“ a”,即使另一个为空?


问题答案:

from子句中使用两个表在功能上等效于cross join

select  *
from    A
cross join
        B

这将为B中的每一行返回A行。当B为空时,结果也为空。您可以使用来解决此问题left join。使用left join,即使其中一个表为空,也可以返回行。例如:

select  * 
from    A
left join  
        B
on      1=1

由于该条件1=1始终为真,因此这就像一个条件,cross join除了它也适用于空表。



 类似资料:
  • 问题内容: 产生5行(5个数组),是一行中唯一的唯一字段。重复( 在这里 重复3次。 )我如何摆脱这些重复? 编辑: 我想要和所有为每个饮料。 问题答案: 您在这里所做的称为a (尽管您是隐式执行的,因为您是从多个表中选择的)。这意味着,如果您未在WHERE子句中放置任何条件,则您将拥有这些表的 所有组合 。仅根据您的条件,您才可以将联接限制为饮料ID匹配的行。 但是,如果有X张包含此特定Drin

  • 问题内容: 我有桌子: 我想写一个返回BookName,FirstName,LastName,RubricName的SELECT查询。 我有两个单独的查询,但我不知道如何在一个选择中编写此查询。这就是我得到的: 它工作正常,但如何在一个选择中编写? 我尝试这样做,但是不起作用: 它返回错误: 问题答案: 试试这个查询

  • 我的数据库中有两个表。一个表包含有关用户的信息,而另一个表包含有关预订的数据。当用户进行预订时,userid将被放置在预订表中。现在,我想展示一张用户的照片,其中包括预订的备注和日期,但是照片在users表中。 这是我的两张桌子: null null

  • 我想在选择另一个select元素的一个选项时显示一个select元素,在选择另一个选项时隐藏它。 这是JavaScript: 感谢任何帮助。谢谢

  • 问题内容: 这里完全没有想法,可能需要一个简单的解决方案。 基本上我想要的查询是: 我只想选择ID为3和4的行,或者命名为“ andy”和“ paul” 非常感谢您的回答 问题答案: 尝试: 或等效的:

  • 问题内容: 我所有的下午都花在尝试处理一个查询(或两个或三个)上,以获取三个表的所有子表的计数。看一下我的设计: 用户表 胜表 画表 输桌子 我试图得到这样的东西: 这是我的尝试: 问题答案: 这只是完成任务所需的工作量。