我是MySQL的新手,只有当两个表中的手机号码相同时,我才想从两个表中返回数据.我不想要任何null价值观.我怎样才能做到这一点?
例:
Table A
UserID CandidateName CurrentMobile CurrentDistrict Email Centre
1 Max 98234 Chennai aaa@a.com A
2 Raju 97364 Salem bbb@b.com B
3 Ramesh 99873 Trichy ccc@c.com C
Run Code Online (Sandbox Code Playgroud)
Table B
Name MobileNumber District
Maximus 98234 Salem
Ramesh 99873 Trichy
Venkat 98376 Chennai
Run Code Online (Sandbox Code Playgroud)
我想要以下结果:
UserID CandidateName Name CurrentDistrict District Email Centre MobileNumber
1 Max Maximus Chennai Salem aaa@a.com A 98234
3 Ramesh Ramesh Trichy Trichy ccc@c.com C 99873
Run Code Online (Sandbox Code Playgroud)
我尝试使用UNION,但它null在某些列中提供值,并返回两个表中的所有数据.
您希望加入这两个表,条件A.CurrentMobile与B.MobileNumber:
SELECT
A.UserID,
A.CandidateName,
B.Name,
A.CurrentDistrict,
B.District,
A.Email,
A.Centre,
B.MobileNumber
FROM
A,
B
WHERE
A.CurrentMobile = B.MobileNumber
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用此语法获得相同的结果:
SELECT
... (all the same fields again)
FROM
A
INNER JOIN B ON A.CurrentMobile = B.MobileNumber
Run Code Online (Sandbox Code Playgroud)
如果您在用于连接的两个字段(即移动号码字段)上有索引,则查询会快得多.阅读有关此处和此处的联接的更多信息.