mysql与php的连接和搜索


mysql with php joining and searching

我在MySQL中有三个表,分别命名为usersuser_academic_infodepartment_info,我想在这三个表上得到一个连接结果,以获得类似搜索的选项。查询如下:

SELECT full_name, user_id, email, mobile, dept_name
FROM users, department_info
WHERE dept_id = (select dept_id from user_academic_info where ainfo_id = user_id)
AND full_name LIKE '%%'
OR user_id LIKE '%%'
OR email LIKE '%%'
OR mobile LIKE '%%'
OR dept_name LIKE '%%'  

它向我展示了所有部门的所有用户,在数据库中,他们只属于一个部门。

请参阅mysql加入

SELECT * FROM `users` AS `u`
LEFT JOIN `user_academic_info` AS `ui` ON (
   `u`.`id` = `ui`.`user_id`
)
LEFT JOIN `department_info` AS `di` ON (
   `di`.`dept_id` =`ui`.`dept_id`
)
WHERE `u`.`full_name` LIKE '%%'
OR `u`.`id` = 4

上面的查询应该可以获得所有3个表中的所有字段。添加WHERE子句,并在字段前面加上正确的表名。