小编典典

如何检查多个表中是否存在给定数据(所有表都具有同一列)?

mysql

我有3个表,每个表由称为用户名的列组成。在注册部分,我需要检查所请求的用户名是否是新的和唯一的。

在继续之前,我需要一个SQL来告诉我该用户是否存在于任何这些表中。我试过了:

SELECT tbl1.username, tbl2.username, tbl3.username
FROM tbl1,tbl2,tbl3
WHERE tbl1.username = {$username}
   OR tbl2.username = {$username}
   OR tbl3.username ={$username}

那是路要走吗?


阅读 304

收藏
2020-05-17

共1个答案

小编典典

select 1 
from (
    select username as username from tbl1
    union all
    select username from tbl2
    union all
    select username from tbl3
) a
where username = 'someuser'
2020-05-17