【问题标题】:MySQL - Left Join, Select all columns left, few columns on the right tables,MySQL - 左连接,选择左侧的所有列,右侧表上的几列,
【发布时间】:2014-12-20 07:35:45
【问题描述】:

我正在尝试将两个表连接在一起,如下所示,在“*”部分中,我无法执行以下操作,

操作:想要选择左侧的所有列,并且只想将右表中的一些相关列附加到左表。除了编写left_table.column1,left_table.column2 ...等所有列之外,还有另一种方法可以节省手动编码吗?

SELECT * FROM nutrients LEFT JOIN measures ON nutrients.name=measures.name

【问题讨论】:

    标签: mysql sql left-join


    【解决方案1】:

    是的,在* 之前添加表名以选择表的所有列

    SELECT nutrients.*, measures.colX
    FROM nutrients 
    LEFT JOIN measures ON nutrients.name=measures.name
    

    【讨论】:

      【解决方案2】:

      您可以使用* 选择所有列,如下所示

      SELECT nutrients.*,
             measures.name,
             measures.col2
      FROM nutrients
      LEFT JOIN measures ON nutrients.name=measures.name
      

      【讨论】:

        【解决方案3】:
        SELECT nutrients.*,
               measures.name,
               measures.column2,
               measures.column3
        FROM nutrients
        LEFT JOIN measures ON nutrients.name=measures.name
        

        您可以使用此查询从第一个表(左表)中选择所有内容,并从右表中选择特定列。

        希望这能满足您的需求。

        【讨论】:

          猜你喜欢
          • 2017-04-29
          • 1970-01-01
          • 1970-01-01
          • 2015-03-14
          • 2014-02-01
          • 1970-01-01
          • 2018-07-28
          • 1970-01-01
          • 2020-02-12
          相关资源
          最近更新 更多