mysql - 检查多个表的数据?

标签 mysql sql datatable

我正在尝试检查来自不同表的数据,这是我正在尝试的分割。假设我有两个表 C 和 D。两个表都有用户名和密码列。我试图查询它们,看看它们中是否至少有一个包含正确的用户名或密码。这是我想出的代码,但它似乎没有返回正确的结果。

SELECT USERNAME
     , PASSWORD 
  FROM D
     , C 
 WHERE D.USERNAME ="HI" 
    OR C.USERNAME="HI" 
   and D.PASSWORD="PASS" 
    OR C.PASSWORD="PASS";

当我知道表 D 将包含用户名 Hi 和密码 pass 时,这只会返回一个空白结果列表。你们能看出我的查询有什么问题吗?

最佳答案

您应该将其编写为 UNION,而不是 JOIN:

SELECT USERNAME,PASSWORD 
FROM D
WHERE D.USERNAME ="HI" AND D.PASSWORD="PASS"
UNION
SELECT USERNAME,PASSWORD 
FROM C
WHERE C.USERNAME ="HI" AND C.PASSWORD="PASS"

关于mysql - 检查多个表的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54958378/

相关文章:

c# - 向数据表添加多行时出现异常。无法存储 <System.Data.DataRowCollection>

C# 优化 : Inserting 200 million rows into database

mysql - 需要帮助理解 COUNT 和 <> 运算符(Hackerrank SQL 挑战问题)

mysql - MATCH (...) AGAINST (... IN BOOLEAN MODE) 之后 LEFT JOIN 不起作用

mysql - 将左连接与 min 一起使用

mysql - 如何主键在一个表中只能是一个

php - SQL 搜索字符串,类似于 String 字符串的子字符串的组合

javascript - 如何保存DataTable列重新排序?

mysql - 对数据库中的每个表执行一条语句

MySQL 多列、单查询