Bonjour,

Je suis en plein apprentissage d'Oracle SQL et je n'arrive pas à résoudre à une question de la manière demandée.
Voici les tables en questions:

POSTE (N_POSTE, NOM_P, N_SEGMENT, AD, TYPE_P, N_SALLE, NB_LOG)
INSTALLER (N_POSTE, N_LOG, DATE_INS)

Notes:
N_POSTE correspond au numéro du poste
N_SEGMENT correspond au numéro de segment du poste
TYPE_P correspond au le type du poste
NB_LOG correspond au le nombre de logiciels installés sur ce poste.
DATE_INS correspond à la date d'installation du logiciel.

Exemple de lignes dans la table POSTE:
p1 Poste 1 130.120.80 1 UNIX s01 3
p2 Poste 2 130.120.80 1 UNIX s01 1
p3 Poste 3 130.120.81 1 UNIX s02 4
[...]

Exemples de lignes dans la table INSTALLER:
p2 log1 21/10/14
p3 log4 10/08/98
[..]

La question est la suivante: Il faut récupérer les noms des postes ayant au moins un même logiciel installé qu'un poste de n° entré au clavier.
On demande içi d'utiliser INTERSECT et EXISTS.

J'ai résolu le problème mais sans ces mots clés.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
ACCEPT n PROMPT 'Numéro du poste: ';
SELECT DISTINCT N_POSTE
FROM INSTALLER
WHERE N_LOG IN (
	SELECT N_LOG
	FROM INSTALLER
	WHERE N_POSTE = '&n'
) AND N_POSTE <> '&n';