Sql 在两个表上进行联接,两个表具有没有匹配条件的单列

Sql 在两个表上进行联接,两个表具有没有匹配条件的单列,sql,Sql,我有以下数据的代码表 _________ dbo.Codes _________ AXV VHT VTY _________ dbo.email _________ x@gmail.com y@gmail.com z@gmail.com 和包含以下数据的电子邮件表 _________ dbo.Codes _________ AXV VHT VTY _________ dbo.email _________ x@gmail.com y@gmail.com z@gmail.com 我期待着通

我有以下数据的代码表

_________
dbo.Codes
_________
AXV
VHT
VTY
_________
dbo.email
_________
x@gmail.com
y@gmail.com
z@gmail.com
和包含以下数据的电子邮件表

_________
dbo.Codes
_________
AXV
VHT
VTY
_________
dbo.email
_________
x@gmail.com
y@gmail.com
z@gmail.com
我期待着通过以下输出水平连接这两个表

__________
dbo.output
__________ 
AXV    x@gmail.com
VHT    y@gmail.com
VTY    z@gmail.com
有没有办法获得所需的输出

编辑1
这两个表都包含唯一的代码和唯一的电子邮件地址

假设这是SQLServer,请尝试:

; with 
c as (select codes, row_number() over (order by codes) r from codes),
e as (select email, row_number() over (order by email) r from email)
select codes, email
from c join e on c.r = e.r
order by c.r

假设这是SQLServer,请尝试:

; with 
c as (select codes, row_number() over (order by codes) r from codes),
e as (select email, row_number() over (order by email) r from email)
select codes, email
from c join e on c.r = e.r
order by c.r
你可以这样做

select c.Codes , e.email
from CodesTable c, emailTable e
where c.rownum = e.rownum;
你可以这样做

select c.Codes , e.email
from CodesTable c, emailTable e
where c.rownum = e.rownum;
创建一个新表

创建表测试 代码varchar32, 电子邮件varchar32 唯一代码, UniqueMail ;

执行此sql语句的结果

选择“插入测试代码,电子邮件值”+code+,“+email+”;”从test1到test2

不会成功执行所有SQL,但表将按顺序填充 当您选择测试表时,您将得到所需的内容

创建一个新表

创建表测试 代码varchar32, 电子邮件varchar32 唯一代码, UniqueMail ;

执行此sql语句的结果

选择“插入测试代码,电子邮件值”+code+,“+email+”;”从test1到test2

不会成功执行所有SQL,但表将按顺序填充
当您选择测试表时,您将得到您想要的

两个表的顺序是否总是完全相同?否则这是不可能的,因为没有关系。请检查我所做的编辑。它们是否唯一并不重要。上述问题仍然存在。你需要一些“链接”。例如:如果两个表中都有第四个条目,您能确定它们彼此属于吗?这是哪个RDBMS Oracle、SQLServer、MySQL等?您使用的是哪个工具?两个表的顺序是否总是完全相同?否则这是不可能的,因为没有关系。请检查我所做的编辑。它们是否唯一并不重要。上述问题仍然存在。你需要一些“链接”。例如:如果两个表中都有第四个条目,您能确定它们彼此属于吗?这是哪个RDBMS Oracle、SQLServer、MySQL等?您使用的是哪个工具?