我正在尝试检查来自不同表的数据,这是我正在尝试进行的分解。假设我有两个表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和密码通过时,这只会返回空白结果列表。你们可以看到我的查询有什么问题吗?
答案 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"