5.3.1 Sub-select

La requête suivante ne fonctionne par encore sous MySQL:

SELECT * FROM table1 WHERE id IN (SELECT id FROM table2);
SELECT * FROM table1 WHERE id NOT IN (SELECT id FROM table2);

Cependant, il est souvent possible de se passer d'une sous sélection :

SELECT table1.* FROM table1,table2 WHERE table1.id=table2.id;
SELECT table1.* FROM table1 LEFT JOIN table2 ON table1.id=table2.id where table2.id IS NULL

Pour les sous requêtes compliquées, vous pouvez toujours créer une table temporaire, et y appliquer votre requête.

MySQL ne supporte que INSERT ... SELECT ... et REPLACE ... SELECT ... Les sous sélections indépendantes ne seront disponibles qu'à partir de la version 3.24.0. Actuellement, vous pouvez toujours utiliser la fonction IN() dans d'autres contextes.