我有两个表,foo和bar都具有相同的架构和行类型
Table1
name varchar
id int
age int
Foo包含300条记录,Bar包含100条记录。是否有一个select语句可以让我将Foo中的每一行与bar中的每一行进行比较,以确定foo.age> bar.age?因此,如果它是java中的for循环,它将看起来像这样:
for(int i = 0; i < Foo.length; i++){
for(int j = 0; j < Bar.length; j++){
//Select here if foo[i].age > bar[j].age
}
}
编辑后续问题:
如果我有一个名为'foobar'的临时表,使用与'表1'中相同的模式我如何将行只插入foobar中,只是foo的一部分进入临时表。例如在java:
中List list = new LinkedList<Table1>
for(int i = 0; i < Foo.length; i++){
for(int j = 0; j < Bar.length; j++){
if(foo[i].age > bar[j].age){
list.add(foo[i]);
}
}
}
答案 0 :(得分:1)
select *
from foo
cross join bar
where foo.age > bar.age
答案 1 :(得分:0)
select * from foo cross join bar where foo.age > bar.age
会这样做,但我想知道你为什么要将一个条目与其他表中的每个条目进行比较。