从多个表中选择逗号分隔

Posted

技术标签:

【中文标题】从多个表中选择逗号分隔【英文标题】:Select From Multiple tables Comma Separated 【发布时间】:2013-03-31 17:45:55 【问题描述】:

什么是最好的(低资源和速度)?

SELECT     C.[col1]
           , D.[col2] 
    FROM   tbl1 C,
           tbl2 D 
    WHERE  C.[colid] = D.[colid]

SELECT  [tbl1].[col1], [tbl2].[col2]    
FROM    [tbl1] INNER JOIN [tbl2] ON
        [tbl1].[colid] = [tbl2].[colid]

谢谢!

更新

阅读this article。

【问题讨论】:

使用Join,因为它更具可读性和更强大。性能是相同的,因为优化器无论如何都会使用连接。 如果您想让查询等效,您需要将第二个查询更改为在INNER JOIN 中使用,而不是LEFT OUTER JOIN 好的。应该有内部连接。但是我做了一个测试,结果完全一样。感谢您的快速回复。 另请参阅:bad habits to kick : using old-style JOINs - ANSI-92 SQL 标准( 20 多年前 好的。好笑。我在 ASP.NET Membership 的一些 Microsoft 过程中看到了这段代码。 【参考方案1】:

我在最近的一些 Microsoft 程序(ASP.NET Membership)中看到了这段代码。 作为底线,如果你有 INNER JOIN 也是一样的。

感谢您的回复!

【讨论】:

以上是关于从多个表中选择逗号分隔的主要内容,如果未能解决你的问题,请参考以下文章

如何从 SQL CE 中的表中构建逗号分隔列表?

从一个表中选择一个逗号分隔的值,并使用 SQL Server 中的函数在另一个表中的 where 条件中使用它

如何根据列中的逗号分隔值进行选择

如何使用第一个表中的逗号分隔值从另一个表中选择行? [复制]

MySQL - 如何选择表中的行,其中 id 值位于另一个表中的逗号分隔字段中?

如何从mysql表中查找逗号分隔值