如何使用一个查询检查多个表中是否存在行?

蒂米巴尔克

我有三个表,我想查看其中任何一个表中是否存在一行。

这是我的三个查询。我怎样才能将它们合二为一?

$dbh->prepare("SELECT id FROM users WHERE email = :email");
$dbh->prepare("SELECT id FROM employees WHERE email = :email");
$dbh->prepare("SELECT id FROM teachers WHERE email = :email");

if(!$row) { // If row not found
    // continue with registration
}
缺口

您可以使用UNION查询。如果用户id在多个表中有不同的值,这将返回多行,但因为您只需要知道是否存在一行或多行就可以了。

SELECT id FROM users WHERE email = :email
UNION
SELECT id FROM employees WHERE email = :email
UNION
SELECT id FROM teachers WHERE email = :email

或者,您可以使用EXISTS表达式从查询中获取简单的是/否结果:

SELECT EXISTS (SELECT * FROM users WHERE email = :email)
    OR EXISTS (SELECT * FROM employees WHERE email = :email)
    OR EXISTS (SELECT * FROM teachers WHERE email = :email)

如果您想知道电子​​邮件地址在哪个表中,您可以修改UNION查询以返回该信息:

SELECT 'users' AS `table`, id FROM users WHERE email = :email
UNION
SELECT 'employees', id FROM employees WHERE email = :email
UNION
SELECT 'teachers', id FROM teachers WHERE email = :email

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用条件检查SQLite表中是否存在行

来自分类Dev

使用 orWhereHas laravel eloquent 查询检查另一个表中是否存在数据

来自分类Dev

SQL 查询:如何使用一个查询检查 * 多个 * 行和列的存在

来自分类Dev

如何检查SQL Server表中是否存在行?

来自分类Dev

使用mysqli检查另一表中是否存在行

来自分类Dev

如何检查数据是否存在并通过websql中的一个查询插入?

来自分类Dev

如果表中存在行,则在SQL中使用另一个表值

来自分类Dev

从一个表中选择查询以检查列中是否存在相同的值,mysql选择查询

来自分类Dev

如何检查另一个模式中的表是否存在某个索引?

来自分类Dev

如何一次使用多个值检查DataSet中是否存在表?

来自分类Dev

如何检查文件中是否存在行

来自分类Dev

使用单个存在查询检查是否存在多个表?

来自分类Dev

一个mysql中的多个查询(是否使用数据表)

来自分类Dev

创建一个将多个项目插入表中但要检查每个项目是否首先存在的SQL脚本

来自分类Dev

如何使用jQuery检查另一个元素中是否存在一个元素

来自分类Dev

如何使用一个SQL查询创建多个表

来自分类Dev

SQL查询:如何通过一个查询检查是否存在多行

来自分类Dev

检查php中两个或多个数组中是否存在一个值

来自分类Dev

检查一个值是否存在于两个或多个数组中

来自分类Dev

SQL Server如何使用WHILE查询从多个结果中输出一个表结果

来自分类Dev

如何使用oracle在一个查询中删除多个表的记录

来自分类Dev

SQL:检查一个表中是否存在另一个表中的条目,并删除重复项

来自分类Dev

SQL:如何根据另一个表中的值查询一个表中是否存在记录

来自分类Dev

如何使用php和mysql在一个表中搜索记录是否存在

来自分类Dev

angular 5 和 firebase/angularfire,使用键检查键是否存在于另一个表中

来自分类Dev

检查数据表中是否存在行?

来自分类Dev

MySQL缓慢检查大表中是否存在行

来自分类Dev

MySQL缓慢检查大表中是否存在行

来自分类Dev

Spring JPA查询检查参数列表中是否至少存在一个列表元素

Related 相关文章

  1. 1

    如何使用条件检查SQLite表中是否存在行

  2. 2

    使用 orWhereHas laravel eloquent 查询检查另一个表中是否存在数据

  3. 3

    SQL 查询:如何使用一个查询检查 * 多个 * 行和列的存在

  4. 4

    如何检查SQL Server表中是否存在行?

  5. 5

    使用mysqli检查另一表中是否存在行

  6. 6

    如何检查数据是否存在并通过websql中的一个查询插入?

  7. 7

    如果表中存在行,则在SQL中使用另一个表值

  8. 8

    从一个表中选择查询以检查列中是否存在相同的值,mysql选择查询

  9. 9

    如何检查另一个模式中的表是否存在某个索引?

  10. 10

    如何一次使用多个值检查DataSet中是否存在表?

  11. 11

    如何检查文件中是否存在行

  12. 12

    使用单个存在查询检查是否存在多个表?

  13. 13

    一个mysql中的多个查询(是否使用数据表)

  14. 14

    创建一个将多个项目插入表中但要检查每个项目是否首先存在的SQL脚本

  15. 15

    如何使用jQuery检查另一个元素中是否存在一个元素

  16. 16

    如何使用一个SQL查询创建多个表

  17. 17

    SQL查询:如何通过一个查询检查是否存在多行

  18. 18

    检查php中两个或多个数组中是否存在一个值

  19. 19

    检查一个值是否存在于两个或多个数组中

  20. 20

    SQL Server如何使用WHILE查询从多个结果中输出一个表结果

  21. 21

    如何使用oracle在一个查询中删除多个表的记录

  22. 22

    SQL:检查一个表中是否存在另一个表中的条目,并删除重复项

  23. 23

    SQL:如何根据另一个表中的值查询一个表中是否存在记录

  24. 24

    如何使用php和mysql在一个表中搜索记录是否存在

  25. 25

    angular 5 和 firebase/angularfire,使用键检查键是否存在于另一个表中

  26. 26

    检查数据表中是否存在行?

  27. 27

    MySQL缓慢检查大表中是否存在行

  28. 28

    MySQL缓慢检查大表中是否存在行

  29. 29

    Spring JPA查询检查参数列表中是否至少存在一个列表元素

热门标签

归档