当运行 SQL 命令来搜索小型数据库(在我学习时用于测试)时,它给了我非常奇怪的结果。你能看出我的命令有什么问题吗?
SELECT * FROM users,departments WHERE name LIKE '%Alex%' OR lastname LIKE '%Alex%' OR email LIKE '%Alex%' AND departments.departmentid = users.departmentid
正如您在下面看到的,它显示了它在所有部门中搜索的用户,而每个用户只注册了一个。
搜索查询和结果
用户表
部门表
最佳答案
试试这个:
SELECT * FROM users,departments WHERE (name LIKE '%Alex%' OR lastname LIKE '%Alex%' OR email LIKE '%Alex%') AND departments.departmentid = users.departmentid
您必须将 或
语句括起来。
关于返回无效结果的 mySQL 搜索函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27443198/