[英]MySQL trying to use INNER JOIN and UNION together?
所以基本上我想做的是在兩個表上使用INNER JOIN,但是只選擇表A中的特定行和表B中的對應行?
表A被稱為“課程”,我想在“ course_title”列下選擇名為“微積分”,“英國文學I”和“工作室藝術”的條目,以及它們相應的“ department_id”和I將使用“ department_id”作為參考,使用第二個表(稱為“ departments”)創建一個INNER JOIN,該表具有“ department_id”和“ department_name”列。
我想到的唯一方法是使用UNION選擇這三門特定的課程,但是我想不通一種方法來使INNER JOIN與之配合使用? 我嘗試了幾種不同類型的語法並不斷出錯,這是我的嘗試之一:
(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')
您可以像下面這樣編寫查詢。
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')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.