Mysql 在一个查询中检查多个数据

Mysql 在一个查询中检查多个数据,mysql,sql,database,postgresql,Mysql,Sql,Database,Postgresql,我有以下问题。我在数据库中有两个表——表1和表2 Table1 id| val1| val2 -------------- 1 | 234 | 342 2 | 325 | 356 ... Table2 id | uid | val -------------- 1 | 5 | 234 2 | 6 | 362 3 | 5 | 123 如果表1中存在val,我想检查表2中的每条记录(table2.val=table1.va1或table2.val>table1.vall)。

我有以下问题。我在数据库中有两个表——表1和表2

Table1
id| val1| val2
--------------
1 | 234 | 342
2 | 325 | 356
...

Table2
id | uid | val 
--------------
1  | 5   | 234
2  | 6   | 362
3  | 5   | 123

如果表1中存在val,我想检查表2中的每条记录(
table2.val=table1.va1或table2.val>table1.vall
)。 表1中约有200万条记录。在表2中有几千个。 如果查询结果为true,我想从表2中删除行

是否可以在一个查询中执行此操作?mysql还是postgresql

性能非常重要。

假设
(t2.val=t1.val1)或(t1.val2>t2.val)
条件:

delete t 
from #table2 t 
inner join #table1 t2 
on t.val = t2.val or t2.val>t.val
delete table2
from table2 t2
inner join table1 t1 on (t2.val = t1.val1) or (t1.val2 > t2.val)
假设
(t2.val=t1.val1)或(t1.val2>t2.val)
条件:

delete table2
from table2 t2
inner join table1 t1 on (t2.val = t1.val1) or (t1.val2 > t2.val)

假设
Table2
中的
uid
Table1
中引用
id
(并且两个表都不包含空值),这将返回
Table1
中满足存在条件的行:

SELECT * 
  FROM Table1
 WHERE EXISTS (
               SELECT * 
                 FROM Table2 
                WHERE Table2.uid = Table1.id
                      AND (
                           Table2.val = Table1.val1
                           OR Table2.val > Table1.val2
                          )
              );

假设
Table2
中的
uid
Table1
中引用
id
(并且两个表都不包含空值),这将返回
Table1
中满足存在条件的行:

SELECT * 
  FROM Table1
 WHERE EXISTS (
               SELECT * 
                 FROM Table2 
                WHERE Table2.uid = Table1.id
                      AND (
                           Table2.val = Table1.val1
                           OR Table2.val > Table1.val2
                          )
              );

对于表2中的每条记录,表1中没有一列称为
val
“如果表2中存在val”,那么其中肯定有一列应该是
Table1
!此外,我们还需要有关如何联接这些表的信息,例如,
Table2
中的does
uid
Table1
中引用
id
?实际上,uid引用了另一个表。这两个表没有链接到任何键。如果表2中存在val,表2中的每个记录都没有名为
val
“表1中肯定有一个是
Table1
!此外,我们还需要有关如何联接这些表的信息,例如,
Table2
中的does
uid
Table1
中引用
id
?实际上,uid引用了另一个表。这两个表没有链接到任何键执行时间为161秒。是否可以更快地执行此查询?执行时间为161秒。是否可以更快地执行此查询?