ich eine relationale Abteilung Abfrage zu schreiben versuchen, (ich ist verpflichtet, für diesen Relational Abteilung zu verwenden) Gegeben die folgenden Tabellen:Oracle Relational Abteilung Abfrage
Gast:
GID PHNUM FNAME LNAME CCNUM RESDATE
1654 3132565356 Tyrone Biggums 8420 2016-11-04
1743 2484352574 Noah Colon 3345 2016-11-03
1501 2487615478 Brennan Luttrell 6426 2016-11-05
Zimmer:
ROOMNUM ROOMTYPE GID
101 Suite 1654
103 Suite
105 Suite 1743
107 Suite
108 Double 1501
115 Double 1654
117 Double
130 Single 1501
135 Single 1501
Mitarbeiter:
SSN SUPERSSN FNAME LNAME PHNUM WAGE
123456789 Jim Lahey 2464572367 40
532674246 123456789 Geno Bianco 2463601456 15
837264268 123456789 Randy Bobandy 2463603678 10
738643653 837264268 Corey Trevor 2464326734 7
648753674 837264268 Joshua Trussler 2464327535 8
Behält:
EMPLOYEES ROOMNUM
648753674 101
648753674 115
738643653 101
738643653 105
738643653 108
738643653 130
738643653 135
837264268 107
Ich versuche, eine Abfrage zu schreiben, die relationale Division verwenden würde jeden Mitarbeiter auszuwählen, die jedes Zimmer von einem Gast, dessen GID = 1654
Die Abfrage, die ich geschrieben habe vorbehalten reinigt ist wie folgt:
SELECT E.ssn, E.lname, E.fname
FROM employee E
WHERE NOT EXISTS((SELECT G.gid
FROM guest G
WHERE G.gid = 1654)
MINUS
(SELECT G.gid
FROM maintains M, room R, guest G
WHERE G.gid = R.gid
AND R.roomnum = M.roomnum
AND E.ssn = M.employeessn
AND G.gid = 1654));
jedoch in seiner derzeitigen Form gibt es die folgende, die nicht korrekt ist:
SSN LNAME FNAME
738643653 Trevor Corey
648753674 Trussler Joshua
Alle und alle Hilfe ist dankbar, danke.
„[Divided We Stand: Das SQL der Relationalen Abteilung] (https://www.red-gate.com/simple-talk/sql/t-sql-progra mming/dived-we-stand-the-sql-of-relational-division /) "von Joe Celko ist ein Standardartikel über relationale Teilung. –
Was war Ihre Begründung für diese Abfrage? Für welche Abteilung halten Sie das? – philipxy