是查看还是加入我需要的这个 mysql 练习?

is it view or join what I need for this mysql exersice

我遇到了使用 mysql 和 mphpmyadmin 的小任务,我需要将 2 table 条记录合并为一个 table,一个接一个……但也想要结果表明 table 来自,像这样:

table1: table 姓名: "names1"

id code name  number
1  XA   Mike  101
2  DA   Stel  344
3  MB   Dan   434
4  TR   Tina  321

table2: table 姓名: "names2"

id code name number
1  DC   Man  121
2  QZ   Dan  989
3  VN   Was  912

我需要的是将它们组合成一个 table、select,查看...在我的脚本中使用的任何语句...像这样:

tablename code name number
names1    XA   Mike  101
names1    DA   Stel  344
names1    MB   Dan   434
names1    TR   Tina  321
names2    DC   Man   121
names2    QZ   Dan   989
names2    VN   Was   912

尝试加入和联合,失败,你建议创建视图吗?以及您建议如何完成?

select  code, name,  number, 'names1' as tablename from table1
union
select   code, name,  number, 'names2' as tablename from table2;

还要研究 union 与 union all 之间的区别,因为它与欺骗有关(通常对于您的其他类似查询的联合)

如果你想将它们组合成一个结果集,那么你可以使用union all(正如@Satty 所建议的)。

但是,如果您希望将它们合二为一 table,则可以使用 create table as:

create table names as 
    select code, name, number from names1 union all
    select code, name, number from names2;

您也可以使用相同的逻辑创建视图,但问题明确指出 "one table"。

如果您想为此创建一个视图:

CREATE VIEW names3 AS 
(SELECT code, 
  name,  
  number, 
  'names1' as tablename 
  from names1)
UNION
(select code, 
  name,  
  number, 
  'names2' as tablename 
  from names2);

Here 是 fiddle.