【问题标题】:Is there some way to select the first table without writing all the fields names in the query?有没有办法在不写查询中所有字段名称的情况下选择第一个表?
【发布时间】:2026-01-25 09:20:08
【问题描述】:

问:如果我有两个表连接在一起,我想从第一个表中获取(*),我的意思是第一个表的所有字段。

我应该在查询中写下第一个表的所有字段名称吗?或者有什么方法可以从第一个表中选择 *。

【问题讨论】:

    标签: sql select join informix


    【解决方案1】:

    您不应该列出所有字段,请参见示例:

    SELECT DISTINCT t1.*
    from T1
    join t2 on condition
    

    【讨论】:

    • 考虑添加DISTINCT关键字。
    • @oneday 是的,谢谢。当然最好使用 EXISTS 而不是 JOIN
    【解决方案2】:

    first_table.* 应该可以解决问题。

    【讨论】:

      【解决方案3】:

      听起来更像是semi join。考虑重写例如

      SELECT DISTINCT T1.*
        FROM T1 JOIN T2 ON T1.id = T2.id;
      

      可以改写为

      SELECT *
        FROM T1
       WHERE id IN (SELECT id FROM T2);
      

      【讨论】:

        最近更新 更多