如何形成正确的查询


How to form the proper query

我试图为MySQL创建一个查询,它从多个表中获取所有信息,但只显示"activity"="Other"的表。现在它正在显示每个人的信息,我不知道格式化查询的WHERE部分的正确方法。我希望它访问jobSearch表,读取活动并只返回活动为"其他"的那些

$query_student = "  SELECT *
                    FROM student
                    JOIN major
                    ON student.studentID=major.studentID
                    JOIN jobSearch
                    ON major.studentID=jobSearch.studentID
                    WHERE jobSearch.activity == Other";

您的SQL语法错误,应该是:

SELECT * FROM table_name WHERE column = value

在您的情况下:

SELECT * FROM student ... WHERE jobSearch.activity = 'Other' 

如需参考,请查看此关于SQL语法的好教程:http://www.tutorialspoint.com/sql/sql-where-clause.htm

您的SQL语法正常,没有错

SELECT *
FROM student
JOIN major ON student.studentID=major.studentID
JOIN jobSearch ON major.studentID=jobSearch.studentID
WHERE jobSearch.activity = 'Other';

如果jobsearch.activity字段是varchar,请在单词"其他"周围使用单引号,并且只使用一个"="。

此外,我建议您使用别名,而不是使用"Select*",您可能会遇到问题,因为您在不同的表中有相同的字段名称,请尝试使用类似的名称。

SELECT st.*, mj.field1, mj.field2, js.activity, js.field2
FROM student st
JOIN major mj ON st.studentID=mj.studentID
JOIN jobSearch js ON mj.studentID=js.studentID
WHERE js.activity = 'Other';