在 SQL 中合并两个表。但什么样的加盟

发布于 2025-01-12 02:16:54 字数 401 浏览 0 评论 0原文

我有两个表:

1. Column1 Column2
   X       4
   Z       7

2. Column1 Column1
   Bed     Pizza
   Sun     Hamburger

现在我想合并这两个表,输出表应如下所示:

3. Column1_1 Column2_1 Column_1_2 Column_2_2
   X         4         Null       Null
   Z         7         Null       Null
   Null      Null      Bed        Pizza
   Null      Null      Sun        Hamburger

I have two tables:

1. Column1 Column2
   X       4
   Z       7

2. Column1 Column1
   Bed     Pizza
   Sun     Hamburger

Now I want to combine these two tables and the output table should look like this:

3. Column1_1 Column2_1 Column_1_2 Column_2_2
   X         4         Null       Null
   Z         7         Null       Null
   Null      Null      Bed        Pizza
   Null      Null      Sun        Hamburger

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

乱世争霸 2025-01-19 02:16:54

要获得所需的输出,只需联合您的表并提供 NULL 值占位符。列名称取自联合中的第一个查询:

select column1 Column1_1, column2 column2_1, null Column_1_2, null column_2_2
from t1
union all
select null, null, Column1, Column2
from t2

To get your desired output simply union your tables and provide NULL value placeholders. Column names are taken from the first query in the union:

select column1 Column1_1, column2 column2_1, null Column_1_2, null column_2_2
from t1
union all
select null, null, Column1, Column2
from t2
何以心动 2025-01-19 02:16:54

为了实现您所要求的,您可能需要使用以下其中一种:

CROSS JOIN(最简单的解释方法是:它返回两个表中的所有记录)

SELECT *
FROM table1 t1
CROSS JOIN table2 t2;

UNION(用于唯一记录)或 UNION ALL(所有记录)

SELECT *
FROM table1 t1
UNION ALL
SELECT *
FROM table2 t2;

To achive what you are asking for, you may want to use one of the following:

CROSS JOIN (the easiest way to explain is: it returns all records from both tables)

SELECT *
FROM table1 t1
CROSS JOIN table2 t2;

UNION (used for unique records) or UNION ALL (all records)

SELECT *
FROM table1 t1
UNION ALL
SELECT *
FROM table2 t2;
雾里花 2025-01-19 02:16:54

执行此操作的查询不是联接。

SELECT
Column1 Column1_1,
Column2 Column1_2,
null Column2_1,
null Column2_2
FROM table1
UNION ALL
SELECT
null,null,Columns,Columns
FROM table2;

This query to do this is not a join.

SELECT
Column1 Column1_1,
Column2 Column1_2,
null Column2_1,
null Column2_2
FROM table1
UNION ALL
SELECT
null,null,Columns,Columns
FROM table2;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文