如何在sql中连接2个没有公共列的表

时间:2016-07-22 04:25:33

标签: sql oracle11g

例如

姓名

id  | name
1      abc
2      efg

id  | areaName
3     area1
4     area2

查询应该返回

 id  | name | areaid
 1     abc    3
 1     abc    4
 2     efg    3
 2     efg    4  

2 个答案:

答案 0 :(得分:0)

当您想要将表A中的所有记录加入表B中的所有记录(即获得Cartesian product时,您可以使用CROSS JOIN

SELECT Names.id, Names.name, Area.areaid
FROM Names
CROSS JOIN Area
ORDER BY Names.id, Area.areaid

答案 1 :(得分:0)

这应该给出预期的结果:

select a.id, a.name, b.id from names,area