Ciao a tutti, ho nuovamente problemi ma questa volta con le interrogazioni di tipo insiemistico e interrogazioni nidificate.
PhpMyAdmin mi restituisce errori.
Vi scrivo le query e gli script che mi danno errori.
1) UNION ALL:
Codice PHP:
SELECT Nome
FROM Impiegato
WHERE Dipart <> 'Amministrazione'
UNION all
SELECT Cognome
FROM Impiegato
WHERE Dipart <> 'Amministrazione'
Errore riportato: all viene segnato in rosso e il risultato dell'interrogazione non è corretto in quanto spuntano solo i nomi e non i cognomi.
2)INTERSECT
Codice PHP:
SELECT Nome
FROM Impiegato
intersect
SELECT Cognome
FROM Impiegato
Errore riportato: intersect viene evidenziato in rosso e mi vengono fuori tutti i nomi degli impiegati.
3)EXCEPT
Codice PHP:
SELECT Nome
FROM Impiegato
except
SELECT Cognome
FROM Impiegato
Errore riportato: risultato uguale ad intersect.
4)ALL in interrogazioni nidificate:
Codice PHP:
SELECT NomeDipartimento
FROM Dipartimento
WHERE NomeDipartimento <>all (SELECT Dipart
FROM Impiegato
WHERE Cognome = 'Rossi')
Errore riportato: #1064
Tabella e dati IMPIEGATO:
Codice PHP:
CREATE TABLE `Impiegato` (
`Nome` varchar(20) NOT NULL,
`Cognome` varchar(20) NOT NULL,
`Dipart` varchar(20) NOT NULL,
`Ufficio` smallint(6) DEFAULT '0',
`Stipendio` smallint(6) DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dump dei dati per la tabella `Impiegato`
--
INSERT INTO `Impiegato` (`Nome`, `Cognome`, `Dipart`, `Ufficio`, `Stipendio`) VALUES
('Carlo', 'Bianchi', 'Produzione', 20, 36),
('Carlo', 'Rossi', 'Direzione', 14, 80),
('Franco', 'Neri', 'Distribuzione', 16, 45),
('Giovanni', 'Verdi', 'Amministrazione', 20, 40),
('Lorenzo', 'Gialli', 'Direzione', 7, 73),
('Marco', 'Franco', 'Produzione', 20, 46),
('Mario', 'Rossi', 'Amministrazione', 10, 45),
('Paola', 'Rosati', 'Amministrazione', 75, 40);
Tabella e dati DIPARTIMENTO:
Codice PHP:
CREATE TABLE `Dipartimento` (
`NomeDipartimento` varchar(30) NOT NULL,
`Edificio` int(11) NOT NULL,
`AuleTot` int(11) DEFAULT '0',
`Piani` smallint(6) DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dump dei dati per la tabella `Dipartimento`
--
INSERT INTO `Dipartimento` (`NomeDipartimento`, `Edificio`, `AuleTot`, `Piani`) VALUES
('Amministrazione', 0, 0, 0),
('Architett.', 7, 11, NULL),
('Architettura', 2, 6, 1),
('Beni Culturali', 16, 20, 2),
('Chimica', 22, 9, 1),
('Direzione', 0, 0, 0),
('Distribuzione', 0, 0, 0),
('Economia', 9, 16, NULL),
('Giurisprudenza', 23, 40, 2),
('Ingegneria', 8, 5, NULL),
('Lingue', 2, 14, NULL),
('Medicina', 4, 7, NULL),
('Produzione', 0, 0, 0),
('Sc.Educaz.', 15, 20, NULL),
('Scienze Educazione', 15, 15, 2);
Grazie a tutti per l'aiuto.