MySQL试图同时使用内部连接和联合?

MySQL试图同时使用内部连接和联合?,mysql,sql,union,inner-join,Mysql,Sql,Union,Inner Join,所以基本上我想做的是在两个表上使用内部联接,但是只选择表A中的特定行和表B中相应的行 表A被称为“课程”,我想在“课程标题”栏下选择名为“微积分”、“英国文学I”和“工作室艺术”的条目,以及它们对应的“部门id”,我将使用“部门id”作为参考,创建与第二个表的内部联接,第二个表称为“部门”,'其中包含“部门id”和“部门名称”列 我认为这样做的唯一方法是使用一个联盟来选择三个特定的课程,但我想不出一种方法来让内部连接与之一起工作?我尝试了几种不同类型的语法并不断出现错误,以下是我的尝试之一: (

所以基本上我想做的是在两个表上使用内部联接,但是只选择表A中的特定行和表B中相应的行

表A被称为“课程”,我想在“课程标题”栏下选择名为“微积分”、“英国文学I”和“工作室艺术”的条目,以及它们对应的“部门id”,我将使用“部门id”作为参考,创建与第二个表的内部联接,第二个表称为“部门”,'其中包含“部门id”和“部门名称”列

我认为这样做的唯一方法是使用一个联盟来选择三个特定的课程,但我想不出一种方法来让内部连接与之一起工作?我尝试了几种不同类型的语法并不断出现错误,以下是我的尝试之一:

(SELECT course.course_title, cours' at line 1
mysql> (SELECT course_title, department_id FROM course WHERE course_title = 'Calculus')
-> UNION
-> (SELECT course_title, department_id FROM course WHERE course_title = 'British Literature I')
-> UNION
-> (SELECT course_title, department_id FROM course WHERE course_title = 'Studio Art I')
-> UNION
-> (SELECT department_name, department_id FROM departments)
-> FROM departments INNER JOIN course ON departments.department_id = course.department_id;
(SELECT course.course_title, course.department_id, departments.department_id, departments.department_name WHERE course.course_title = 'Calculus')
-> UNION
-> (SELECT course.course_title, course.department_id, departments.department_id, departments.department_name WHERE course.course_title = 'British Literature I')
-> UNION
-> (SELECT course.course_title, course.department_id, departments.department_id, departments.department_name WHERE course.course_title = 'Studio Art I')
-> FROM departments INNER JOIN course ON departments.department_id = course.department_id;
下面是我的另一个尝试:

(SELECT course.course_title, cours' at line 1
mysql> (SELECT course_title, department_id FROM course WHERE course_title = 'Calculus')
-> UNION
-> (SELECT course_title, department_id FROM course WHERE course_title = 'British Literature I')
-> UNION
-> (SELECT course_title, department_id FROM course WHERE course_title = 'Studio Art I')
-> UNION
-> (SELECT department_name, department_id FROM departments)
-> FROM departments INNER JOIN course ON departments.department_id = course.department_id;
(SELECT course.course_title, course.department_id, departments.department_id, departments.department_name WHERE course.course_title = 'Calculus')
-> UNION
-> (SELECT course.course_title, course.department_id, departments.department_id, departments.department_name WHERE course.course_title = 'British Literature I')
-> UNION
-> (SELECT course.course_title, course.department_id, departments.department_id, departments.department_name WHERE course.course_title = 'Studio Art I')
-> FROM departments INNER JOIN course ON departments.department_id = course.department_id;
有没有关于这是否可行的想法?如果是,如何更正语法?如果没有,还有什么方法


谢谢

你应该使用IN子句

像这样

WHERE course IN ('Calculus','Physics','Art')

你应该使用IN子句

像这样

WHERE course IN ('Calculus','Physics','Art')

您可以像下面这样编写查询

SELECT course.course_title, course.department_id, departments.department_id, departments.department_name 
FROM departments 
  INNER JOIN course ON departments.department_id = course.department_id
WHERE course.course_title IN ('Calculus', 'British Literature I','Studio Art I')

您可以像下面这样编写查询

SELECT course.course_title, course.department_id, departments.department_id, departments.department_name 
FROM departments 
  INNER JOIN course ON departments.department_id = course.department_id
WHERE course.course_title IN ('Calculus', 'British Literature I','Studio Art I')

“错误1064(42000):您的SQL语法有错误;请检查与您的MySQL服务器版本对应的手册,以了解在“WHERE course.course_title='calculation')附近使用的正确语法。”我将尝试按照下面的建议使用in子句,看看这是否解决了问题……”错误1064(42000):您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解在“WHERE course.course_title='calculation')附近使用的正确语法。“我将尝试使用下面建议的in子句,看看这是否解决了问题……啊,好的。完美的非常感谢你!!啊,好的。完美的非常感谢你!!