我正在尝试制作一个SELECT
查询,以获取绘画和雕塑的标题以及相应的艺术家ID。
这是架构:
Paintings(paintingID, title, painterID) p
Sculptures(scluptureID, title, sculptorID) s
我想我必须使用JOIN
,但我不知道要加入什么而不会得到奇怪的结果。如果我加入ON p.painterID=s.sculptorID
,那么我只能获得画家和雕塑家的艺术家的成果。我希望获得所有的雕塑和绘画,将它们视为“艺术”,并将画家和雕塑视为“艺术家”,以便每一行都包含所有的值,填充另一个表中不存在的列{{{ 1}} s(现实生活中的架构有点大)。我该怎么做呢/我错过了什么?
答案 0 :(得分:4)
您不需要加入,您需要使用UNION查询:
SELECT title, painterID artistID
FROM Paintings
UNION ALL
SELECT title, sculptorID artistID
FROM Sculptures
这将选择Paintings
表格中的所有绘画作品以及Sculptures
表格中的所有雕塑作品。 painterID
和sculptorID
都有别名artistID
。