Thank you.
I agree with you. a lot of difficult problem solve by using relational algebra.
Dr. CJ Date offered two methods but I was looking for the best solution for division operator.
here is a method: Please exec following script before exec this query
-- My Method
SELECT DISTINCT pilot
FROM PilotSkills AS PS
WHERE NOT EXISTS (
SELECT plane FROM Hangar
EXCEPT
SELECT plane FROM PilotSkills
WHERE PS.pilot=pilot
)
/*
CREATE TABLE PilotSkills
(pilot CHAR(15) NOT NULL,
plane CHAR(15) NOT NULL,
PRIMARY KEY (pilot, plane));
INSERT INTO PilotSkills
SELECT pilot='Celko', plane='Piper Cub'
UNION
SELECT 'Higgins','B-52 Bomber'
UNION
SELECT 'Higgins','F-14 Fighter'
UNION
SELECT 'Higgins','Piper Cub'
UNION
SELECT 'Jones','B-52 Bomber'
UNION
SELECT 'Jones','F-14 Fighter'
UNION
SELECT 'Smith','B-1 Bomber'
UNION
SELECT 'Smith','B-52 Bomber'
UNION
SELECT 'Smith','F-14 Fighter'
UNION
SELECT 'Wilson','B-1 Bomber'
UNION
SELECT 'Wilson','B-52 Bomber'
UNION
SELECT 'Wilson','F-14 Fighter'
UNION
SELECT 'Wilson','F-17 Fighter'
CREATE TABLE Hangar
(plane CHAR(15) NOT NULL PRIMARY KEY);
INSERT INTO Hangar
SELECT plane='B-1 Bomber'
UNION
SELECT 'B-52 Bomber'
UNION
SELECT 'F-14 Fighter'
*/