DISTINCT filtra valores duplicados de seu retornado Campos. Uma maneira realmente simplificada de ver isso é:
- Ele cria seu conjunto de resultados geral (incluindo duplicatas) com base em seu
FROMeWHEREcláusulas - Ele classifica esse conjunto de resultados com base nos campos que você deseja retornar
- Remove quaisquer valores duplicados nesses campos
É semanticamente equivalente a um
GROUP BY onde todos os campos retornados estão no GROUP BY cláusula.