【发布时间】:2013-08-31 18:15:06
【问题描述】:
在我的 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):您的 SQL 语法有错误;检查 与您的 MySQL 服务器版本相对应的手册 '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