检查多个表中的数据?

问题描述 投票:0回答:1

我正在尝试检查来自不同表格的数据,这是我正在尝试的细分。假设我有两个表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时,这只返回一个空白结果列表。你们可以看到我的查询有什么问题吗?

mysql sql datatable
1个回答
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"
© www.soinside.com 2019 - 2024. All rights reserved.