嗨,我有以下表格和列。在電影數據庫mysql中完全外連接
movie: ID, title
person: ID, name
involved: personID, movieID
我需要回答這樣的問題:
「哪個電影要麼約翰·特拉沃爾塔和烏瑪·瑟曼,但不能同時出演?」
我不知道如何做到這一點,而不創建新的表,所以我做了2個新表。並試圖做完整的外連接,在那裏你沒有得到相交的結果。我發現你不能在mysql中進行完整的外連接,但必須進行左連接,並與右連接進行結合。我嘗試過,但沒有得到我想要的結果。我一直在卡住一段時間。任何人都可以將我指向正確的方向嗎?
這是我到目前爲止。
DROP TABLE IF EXISTS Umatable;
DROP TABLE IF EXISTS Johntable;
CREATE TABLE Umatable(title VARCHAR(500));
CREATE TABLE Johntable(title VARCHAR(500));
INSERT INTO Umatable
SELECT m.title
FROM movie m, person p, involved i
WHERE p.name = "Uma Thurman"
AND p.id = i.personid
AND m.id = i.movieiD;
INSERT INTO Johntable
SELECT m.title
FROM movie m, person p, involved i
WHERE p.name = "John Travolta"
AND p.id = i.personid
AND m.id = i.movieiD;
SELECT *
FROM Umatable
LEFT JOIN Johntable ON Umatable.title = Johntable.title
WHERE Johntable.title IS NULL OR Umatable.title IS NULL
UNION
SELECT *
FROM Umatable
RIGHT JOIN Johntable ON Umatable.title = Johntable.title
WHERE Johntable.title IS NULL OR Umatable.title IS NULL