当前位置: 首页 > 面试题库 >

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

魏鸿
2023-03-14
问题内容

我有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}

那是路要走吗?


问题答案:
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'


 类似资料:
  • 问题内容: 在Java中,给定一个值数组(例如整数),是否有一种方法可以有效地检查它们是否都具有特定值? 例如,使用整数数组,例如: 并且只有在所有条件均为2的情况下,您才需要执行一项操作?有没有比这更有效的方法: 我知道可以用C ++做到这一点,但是Java呢? 问题答案: 或者,如果使用Java 8,则可以执行以下操作: 基本上,使用Streams可以非常简洁地完成与集合/数组有关的所有操作。

  • 问题内容: 我有两个清单说 现在,我想找出List2中是否存在List1的所有元素。在这种情况下,就全部存在。我不能使用子集函数,因为我可以在列表中重复元素。我可以使用for循环来计算List1中每个项目的出现次数,并查看它是否小于或等于List2中的出现次数。有一个更好的方法吗? 谢谢。 问题答案: 当出现次数无关紧要时,您仍可以通过动态创建集合来使用子集功能: 如果需要检查每个元素在第二个列表

  • 问题内容: Postgres 8.4及更高版本的数据库在public架构中包含公用表,在架构中包含公司特定的表company。 company模式名称始终’company’以公司编号开头和结尾。 因此,可能会有类似以下的模式: 应用程序始终与单个公司一起使用。 的search_path相应指定在ODBC或连接Npgsql的字符串,如: 您如何检查指定表中是否存在给定表companyn? 例如: 应

  • Postgres 8.4和更高版本的数据库在架构中包含公共表,在架构中包含公司特定表。 架构名称始终以开头,以公司编号结尾。 因此可能存在如下架构: 应用程序总是与单个公司一起工作。 相应地在odbc或npgsql连接字符串中指定,如: 如果给定的表同时存在于和传递的模式中,则该函数应返回。 它应适用于Postgres8.4或更高版本。

  • 问题内容: 如何检查列表中的元素是否属于同一类型,而又尽可能不检查每个元素? 例如,我想要一个函数来检查此列表中的每个元素是否为整数(显然是错误的): 问题答案: 尝试与结合使用: 您甚至可以根据需要检查多种类型: 并不是说这也会选择继承的类。例如: 如果您 需要 将自己限制为整数,可以使用。但这是 非常 罕见的情况。 您可以编写一个有趣的函数,如果所有其他元素都是同一类型,它将返回序列中第一个元

  • 问题内容: 有没有办法检查pid是否对应于有效进程?我从其他来源获得pid ,我需要检查计算机上是否不存在具有该pid的进程。 我需要它在Unix和Windows中可用。我也在检查PID是否未使用。 问题答案: 如果pid没有运行,则向pid发送信号0将引发OSError异常,否则不执行任何操作。