簡體   English   中英

MySQL試圖一起使用INNER JOIN和UNION嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM