Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/07083.jsonl.gz/983

Avec MySQL, l
es commanndes LEFT JOIN B sont implémentées comme suit :
- La table
B est marquée comme étant dépendante de la table
A.
- La table
A est marquée comme étant dépendante de toutes les tables (sauf
B) qui sont utilisées dans la condition
LEFT JOIN.
- Toutes les conditions
LEFT JOIN sont transformées en clause
WHERE.
- Toutes les optimisations standard de regroupement sont effectuées, à l'exception près qu'une table n'est lue qu'après toutes les tables dont elle dépend. Si il y a une référence circulaire MySQL retournera une erreur.
- Toutes les optimisations standard de
WHERE sont effectuées.
- Si une ligne de la table
A satisfait la clause
WHERE, mais qu'il n'y a aucuen ligne dans la table
B pour satisfaire la condition
LEFT JOIN, alors une nouvelle ligne est générée dans
B avec toutes ses valeurs mises à
NULL.
- Si vous utilisez un
LEFT JOIN pour rechercher des lignes qui n'existent pas dans uen table, et que vous avez le test suivant :
column_name IS NULL dans la clause
WHERE, où column_name est une colonne déclarée
NOT NULL, alors
MySQL arrêtera de cherche d'autres lignes (pour une combinaison particulière de clés) dès qu'il aura trouvé une ligne qui satisfait la condition
LEFT JOIN.