有人可以幫助我,爲什麼是這個查詢,遇到錯誤時做的「選擇」與「NOT EXISTS」和「除」
select Fname, Lname from EMPLOYEE where not exists ((select Pnumber from PROJECT where Dnum=5) except (select Pno from WORKS_ON where EMPLOYEE.Ssn=Essn));
給我的錯誤信息,
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 Pno from WORKS_ON where EMPLOYEE.Ssn=Essn))' at line 1
它混淆了我coz
select Pnumber from PROJECT where Dnum=5
不給我任何錯誤信息。我在一本關於製作大學數據庫的書中作爲例子。
mysql> show columns from EMPLOYEE;
+-----------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------------+------+-----+---------+-------+
| Fname | varchar(15) | NO | | NULL | |
| Minit | char(1) | YES | | NULL | |
| Lname | varchar(15) | NO | | NULL | |
| Ssn | char(9) | NO | PRI | NULL | |
| Bdate | date | YES | | NULL | |
| Address | varchar(30) | YES | | NULL | |
| Sex | char(1) | YES | | NULL | |
| Salary | decimal(10,2) | YES | | NULL | |
| Super_ssn | char(9) | YES | MUL | NULL | |
| Dno | int(11) | NO | | NULL | |
+-----------+---------------+------+-----+---------+-------+
mysql> show columns from PROJECT;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| Pname | varchar(15) | NO | UNI | NULL | |
| Pnumber | int(11) | NO | PRI | NULL | |
| Plocation | varchar(15) | YES | | NULL | |
| Dnum | int(11) | NO | MUL | NULL | |
+-----------+-------------+------+-----+---------+-------+
mysql> show columns from WORKS_ON;
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| Essn | char(9) | NO | PRI | NULL | |
| Pno | int(11) | NO | PRI | NULL | |
| Hours | decimal(3,1) | NO | | NULL | |
+-------+--------------+------+-----+---------+-------+
MySQL不支持'/除外intersect'。 – 2013-04-26 07:51:05
那我該用什麼?我有一種感覺,它是「除了」,但它來自書籍所以idk> w < – 2013-04-26 07:52:20