仅使用一个 SQL 请求在 2 个表中进行选择 [重复]

Posted

技术标签:

【中文标题】仅使用一个 SQL 请求在 2 个表中进行选择 [重复]【英文标题】:Make a selection in 2 tables with only one SQL request [duplicate] 【发布时间】:2012-12-10 04:58:45 【问题描述】:

可能重复:How can an SQL query return data from multiple tables

我想要一个关于如何做这件事的好情报: 从我的表 1 和我的表 2 中选择所有内容,其中我的表 2 的 id_article 等于我的表 1 中的 id ...我试试这个:

SELECT * FROM table1 AS n, table2 AS a WHERE n.id = a.id_article

但它没有工作......虽然我不明白整个过程......

感谢您提供任何线索

【问题讨论】:

How can an SQL query return data from multiple tables. 尽管您使用的是旧的连接语法,但您的查询绝对没问题。怎么不工作了? 也许我捕捉结果的方式不好,因为我没有错误。我看到。但是感谢您的提示:) 问题可能出在你的 php 上,因为 SQL 没问题。 【参考方案1】:

使用JOIN 语句。

SELECT * 
  FROM table1 
  JOIN table2 
    ON table1.id = table2.id_article

您可以选择在最后添加WHERE 条件

【讨论】:

是的,感谢这个语法,我显然晚了几年^^ 如果这行得通,那么您的原件也应该如此。它们是编写相同查询的两种不同方式,您的只是一种较旧的语法。 是的,但我没有任何结果...虽然没有错误...我正在寻找捕获结果的方法,这显然是错误的【参考方案2】:

或者,使用查询的新语法格式ANSI SQL-92

SELECT  a.*, b.*
FROM    table1 a
        INNER JOIN table2 b
            ON a.ID = b.ID_Article

要全面了解联接,请参阅下面的文章

Visual Representation of SQL Joins

【讨论】:

忽略连接语法更可取的事实,我看不出他的查询有什么问题,是吗?只是想知道如果他一开始就没有工作,这是否会更好,或者他的查询中有一个我没有看到的错误...... @BrandonMoore 正如我在上面的评论中所述,查询很好。也许 OP 想要 OUTER JOINs,不确定。但是这个问题太不完整了。 酷,没有看到你的评论,只是想知道我是否遗漏了一些明显的东西:) 嗯,我没有任何结果,也许我的电话不好,因为我没有错误消息。 大声笑,是的,我的第二个表中没有注册项目 ^^。整个过程中的某些东西效果更好:) 感谢大家!

以上是关于仅使用一个 SQL 请求在 2 个表中进行选择 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何提高 SQL 查询的性能以从 2 个表中进行选择

如何从sql中的四个表中进行选择?

SQL 服务器。从2个表中选择数据[重复]

从表中仅选择几列以使用 C# Web API 上的 Odata Select 查询进行映射

SQL Server:根据来自其他 2 个表的子查询从表中选择

如何从 SQL Server 中包含多行数据的 2 个表中选择 4 个不同的值?