我有以下表格:在我的MySQL數據庫中選擇了從一個表中的列
FACULTY (fid int, fname varchar(25), deptid int, primary key(fid))
CLASS (name varchar(4),meets_at varchar(9),room varchar(4), fid int,primary key (name), foreign key (fid) references faculty (fid))
我想選擇誰去所有的房間院系的名稱。 我嘗試使用以下:
SELECT DISTINCT F.FNAME
FROM FACULTY F
WHERE NOT EXISTS ((SELECT *
FROM CLASS C
EXCEPT
(SELECT C1.ROOM
FROM CLASS C1
WHERE C1.FID=F.FID)));
,並得到了以下錯誤:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'EXCEPT
也試圖與:
SELECT DISTINCT F.FNAME
FROM FACULTY F
LEFT JOIN CLASS C ON C.FID = F.FID
WHERE C.FID IS NULL
,並得到了 「空集」,即使在我的數據庫有一個去所有房間的教師。
也請不要標記MySQL的問題爲'SQL-server'。 –
考慮提供同樣的sqlfiddle – Strawberry