Les sous-requêtes ou requêtes imbriquées B.T.S. S.I.O – SI3 – 1
Exemple : Table VEHICULE
Comment faire pour : 3 Afficher l’immatriculation du véhicule qui a le plus de kilomètres au compteur?
1 – Vous cherchez quel est le kilométrage le plus élevé : ici – Vous recherchez l’immatriculation qui affiche ce kilométrage
1 – Vous cherchez quel est le kilométrage le plus élevé : ici – Vous recherchez l’immatriculation qui affiche ce kilométrage En SQL SELECT MAX(compteur) FROM vehicule ; SELECT numero FROM vehicule WHERE compteur = (SELECT MAX(compteur) FROM vehicule );
En SQL SELECT numero FROM vehicule WHERE compteur = (SELECT MAX(compteur) FROM vehicule ); La requête imbriquée est évaluée en premier et renvoie la valeur La requête principale devient alors : SELECT numero FROM VEHICULE WHERE compteur = ( );
Comment faire pour 7 Afficher l’immatriculation des avions qui se trouvent dans le même aéroport qu’un boeing ? TABLE Avion
1 – Vous cherchez dans quels aéroport se trouvent les Boeing 2 – Vous recherchez l’immatriculation des avions qui se trouvent dans ces aéroports en supprimant les boeings
1 – Vous cherchez dans quels aéroport se trouvent les Boeing 2 – Vous recherchez l’immatriculation des avions qui se trouvent dans ces aéroports en supprimant les boeings SELECT localisation FROM avion WHERE type = ‘Boeing’; SELECT Immat FROM avion WHERE localisation IN (SELECT localisation FROM avion WHERE type = ‘Boeing’); En SQL
SELECT Immat FROM avion WHERE localisation IN (SELECT localisation FROM avion WHERE type = ‘Boeing’) AND type !=‘Boeing’; En SQL La requête imbriquée est évaluée en premier et renvoie (‘TLS’,’BOD’,’CDG’). La réponse est un ensemble, la requête imbriquée doit être précédée d’un des opérateurs suivants : IN, =ANY, >ALL, >ANY, =ALL, >=ANY, <=ALL, <=ANY La requête principale devient alors : SELECT Immat FROM avion WHERE localisation IN (‘TLS’,’BOD’,’CDG’);
Des questions