检查多个表中的数据?

时间:2019-03-02 12:09:43

标签: 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和密码通过时,这只会返回空白结果列表。你们可以看到我的查询有什么问题吗?

1 个答案:

答案 0 :(得分:1)

您应该将其写为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"