Mysql 在两个表中搜索数据

Mysql 在两个表中搜索数据,mysql,Mysql,我有两个表,当我搜索时,它们由主键ID连接,我没有得到任何结果 SELECT * FROM tbl1 JOIN tbl2 on tbl1.id=tb2.user where user ='SUNIL KUMAR' 由于该列在两个表中都可用,因此用户不明确。您需要使用它所属的表作为前缀 SELECT * FROM tbl1 JOIN tbl2 on tbl1.id = tb2.user where tbl1.user ='SUNIL KUMAR' 因此,应该避免选择*并枚举要在结果集中看到的

我有两个表,当我搜索时,它们由主键ID连接,我没有得到任何结果

SELECT * FROM tbl1  JOIN tbl2 on tbl1.id=tb2.user where user ='SUNIL KUMAR'
由于该列在两个表中都可用,因此用户不明确。您需要使用它所属的表作为前缀

SELECT * FROM tbl1 JOIN tbl2 on tbl1.id = tb2.user where tbl1.user ='SUNIL KUMAR'
因此,应该避免选择*并枚举要在结果集中看到的所有列,使用列别名以避免歧义

旁注:注意表格和搜索字符串中的大小写是不同的。一些RDBMS进行区分大小写的比较,而另一些RDBMS默认情况下不喜欢MySQL。因此,您最好也解决这个问题:

SELECT * FROM tbl1 JOIN tbl2 on tbl1.id = tb2.user where tbl1.user ='Sunil Kumar'
或但不支持索引:

SELECT * FROM tbl1 JOIN tbl2 on tbl1.id = tb2.user where UPPER(tbl1.user) ='SUNIL KUMAR'

根据您的数据库排序规则,您可能需要在WHERE子句中使用确切的大小写,即tbl1.user='Sunil Kumar'而不是tbl1.user='Sunil Kumar'。 您还可以通过以下方法解决案例问题:
UPPERtbl1.user='SUNIL KUMAR'

您能发布代码吗?您期望的结果是什么?
SELECT * FROM tbl1 JOIN tbl2 on tbl1.id = tb2.user where tbl1.user ='Sunil Kumar'
SELECT * FROM tbl1 JOIN tbl2 on tbl1.id = tb2.user where UPPER(tbl1.user) ='SUNIL KUMAR'