同一个查询多个表mysql

时间:2011-08-25 17:55:03

标签: mysql multiple-tables

我在mysql db中有2个表

T1 : registration
T2 : multiple_email

我在两个表中都有一个字段email_id。我想运行查询以查看电子邮件是否有效。所以,我可以运行2个查询

select count(*) from registration where emailid = $emailid
select count(*) from multiple_email where emailid = $emailid 

如果其中一个计数大于0,我认为它是一封有效的电子邮件。

在单个查询中是否有一种优雅的方式?

2 个答案:

答案 0 :(得分:2)

select count(*) + 
(select count(*) from multiple_email where emailid = $emailid)
from registration where emailid = $emailid

答案 1 :(得分:0)

我认为最好使用2个查询并进行一些更改:

select emailid from registration where emailid = $emailid ;
select emailid from multiple_email where emailid = $emailid 

它会比count(*)更快,因为你只会从索引读取。如果emailid不是主键,则可以添加限制1。