首页 > 解决方案 > SQL:有没有办法从多个查询中返回一行?

问题描述

我想知道这是否可能以及如何从攻击不同表的多个查询中返回一行。我的意思是,每个查询都返回不同的字段,并且没有一个是与任何其他查询结果链接的关键。

想象一下,你有三个表,A、B、C,它们都有不同的字段,而且它们都只有一行。

A(attrib1, attrib2) B(attrib3, attrib4, attrib5) C(attrib6)

我想只返回一行包含每个表的所有数据。

结果将是(attrib1,attrib2,attrib3,attrib4,attrib5,attrib6)。顺序无关紧要。

我想知道是否有任何方法可以仅使用 SQL 而不是编程来做到这一点。

我正在使用 MySQL。如果在 MySQL 中无法做到这一点,是否可以在另一个数据库中做到这一点?

标签: mysqlsql

解决方案


您正在描述一个cross join

select a.*, b.*, c.*
from a cross join b cross join c;

这是标准 SQL,所有支持 SQL 的数据库都支持。


推荐阅读