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

MySQL多个联接一个查询?

车辰龙
2023-03-14
问题内容

我有以下查询:

SELECT
  dashboard_data.headline,
  dashboard_data.message,
  dashboard_messages.image_id 
FROM dashboard_data
INNER JOIN dashboard_messages
  ON dashboard_message_id = dashboard_messages.id

所以我正在使用INNER JOIN并抓住image_id。所以现在,我要获取该image_id并将其images.filename从图像表中转换成。

如何将其添加到查询中?


问题答案:

您可以简单地添加另一个联接,如下所示:

SELECT dashboard_data.headline, dashboard_data.message, dashboard_messages.image_id, images.filename
FROM dashboard_data 
    INNER JOIN dashboard_messages 
        ON dashboard_message_id = dashboard_messages.id
    INNER JOIN images
        ON dashboard_messages.image_id = images.image_id

但是请注意,由于它是一个INNER JOIN,如果您的消息中没有图像,则将跳过整个行。如果可能的话,您可能需要执行一次操作LEFT OUTER JOIN,该操作将仅在存在一个仪表板消息的情况下返回所有仪表板消息和一个image_filename(否则,您将获得null)

SELECT dashboard_data.headline, dashboard_data.message, dashboard_messages.image_id, images.filename
FROM dashboard_data 
    INNER JOIN dashboard_messages 
        ON dashboard_message_id = dashboard_messages.id
    LEFT OUTER JOIN images
        ON dashboard_messages.image_id = images.image_id


 类似资料:
  • 问题内容: 我正在使用此查询: 产生以下结果: 我改变了场CAT_ID到一个名为新表包含的字段,,。我如何通过也加入该表来编写新查询,以获得与上述相同的结果? 我是数据库新手,需要帮助。提前致谢 问题答案: 试试这个: 这个想法很简单,在新表中的第一个字段是工作作为 代理键 ,它没有任何与其他两个表之间的关系。然后,我们来到了另外两个领域是哪些,这些你应该映射到关系的其他两个方面。 您不能使用新模

  • 问题内容: 我有一个NewsStories表格,剩下一些相关表格。每个新闻故事可以具有多个图像,类别和地址。因此查询实质上是: 通常每个故事有一些图像和地址,以及1或2个类别。NewsStories表包含大约10,000条文章。 问题在于性能相当慢(大约15-20秒,尽管它的确变化很大,有时甚至低至5秒)。 我想知道是否有更好的方法来组织查询以加快查询速度(我对SQL还是很陌生)。 尤其是,给定故

  • 问题内容: 这是我的问题,我正在选择并执行多个联接以获取正确的项目…它吸引了相当多的行,超过100,000。当日期范围设置为1年时,此查询将花费5分钟以上的时间。 我不知道是否可能,但恐怕用户会将日期范围扩展到10年左右并使其崩溃。 有人知道我可以如何加快速度吗?这是查询。 我不是MySQL方面的佼佼者,因此不胜感激! 提前致谢! 更新 这是您要求的解释 我还为table5行和table4行添加了

  • 我在Mysql中有一个查询, 我已经完成了简单的查询转换为hibernate查询。我将所有pojo类绑定到表。请指导我如何将多个连接查询转换为一个hibernate查询。

  • 问题内容: 嗨,这是我的情况,我有那些桌子 所以我想总计费用和税款,然后按客户ID分组,这是我的查询 因此,如果我有1个客户费用,而我使用SUM函数时却有2个税额,那么它会计算两次费用,例如,如果要向我显示10 $,则向我显示20 $ 我知道如何通过子查询解决此问题,但是我想知道是否有任何选项可以获取没有子查询之类的正确值,例如我在上面可以使用的修改内容以解决该问题。 谢谢 ! 没有子查询的更新答

  • 问题内容: 我有一张叫订单的桌子。订单上的一列是customer_id, 我有一个名为“ customers”的表,具有10个字段 给定两个选项,如果我要建立一个订单对象数组并将其嵌入到一个客户对象中,那么我有两个选择。 选项1: 一种。首先查询订单表。b。遍历记录并查询人员表以获取人员的记录 这将是这样的: 选项2: 一种。在所有领域参加 #2是显而易见的,因为您只执行一个查询,而不是1 + [