Différence entre le filtrage des requêtes dans JOIN et WHERE?
EN SQL j'essaye de filtrer les résultats basés sur un ID et je me demande s'il y a une différence logique entre
SELECT value
FROM table1
JOIN table2 ON table1.id = table2.id
WHERE table1.id = 1
et
SELECT value
FROM table1
JOIN table2 ON table1.id = table2.id AND table1.id = 1
pour moi, il semble que la logique soit différente bien que vous obtiendrez toujours le même ensemble de résultats mais je me suis demandé s'il y avait des conditions dans lesquelles vous obtiendriez deux ensembles de résultats différents (ou retourneraient-ils toujours exactement les mêmes deux ensembles de résultats)
22
demandé sur
davejal
2015-12-24 18:25:28
3 réponses
La réponse est NO différence, mais:
je préfère toujours faire ce qui suit.
- Toujours garder à l' Joindre Les Conditions
ON
clause - Toujours mettre le filtre
where
clause
ceci rend la requête plus lisible.
je vais Donc utiliser cette requête:
SELECT value
FROM table1
INNER JOIN table2
ON table1.id = table2.id
WHERE table1.id = 1
cependant quand vous utilisez OUTER JOIN'S
il y a un grand différence en gardant le filtre dans le