Captura de datos únicos con DISTINCT
En SQL, DISTINCT comandos se utilizan en el SELECT Statement para obtener datos sin duplicación. Si hay los mismos datos en una columna y solo queremos mostrar valores diferentes, DISTINCT asegura de que cada valor aparezca una vez en los resultados de la consulta.
DISTINCT se coloca después de la palabra clave SELECT y antes del nombre de la columna que desea recuperar. Este comando le dice a MySQL que muestre solo los datos únicos de esa columna y elimine las filas que tienen el mismo valor.
La sintaxis para usar DISTINCT es la siguiente:
SELECT DISTINCT column_name FROM table_name;
- DISTINCT: indica a SQL que muestre valores únicos en las columnas especificadas.
- column_name: el nombre de la columna de la que desea recuperar datos de forma única.
- FROM: indica la tabla de la que se originaron los datos.
Por ejemplo, queremos obtener datos únicos de las vend_id columnas de la tabla products. Sin usar DISTINCT, si hay varios productos del mismo proveedor, cada ID de proveedor aparecerá varias veces en los resultados de la consulta. Con DISTINCT, podemos asegurarnos de que los resultados solo muestren una vez el ID de cada proveedor.
Algunos ejemplos son los siguientes:
SELECT DISTINCT vend_id FROM products;
Si la tabla de productos tiene datos como este:
| vend_id |
|---------|
| 1001 |
| 1001 |
| 1002 |
| 1003 |
| 1003 |
| 1003 |
| 1004 |
Los resultados de la consulta solo mostrarán el ID de proveedor único, por lo que se verá así:
| vend_id |
|---------|
| 1001 |
| 1002 |
| 1003 |
| 1004 |
Notas importantes
- DISTINCT se aplica a la combinación de columnas seleccionadas en la consulta. Si se utiliza más de una columna con DISTINCT, SQL se asegurará de que la combinación de columnas sea única.
- DISTINCT solo quita los duplicados de las columnas especificadas y no afecta a otras columnas de la tabla.
Uso de nombres de columna completos
El uso de fully qualified column names (en el formato table.column) en SQL tiene varias ventajas importantes, especialmente cuando se recuperan datos de tablas que pueden tener columnas con el mismo nombre.
Estas son algunas de las ventajas de usar nombres de columna completos:
- Con el formato table.column, se indica de qué tabla procede la columna. Esto es especialmente útil cuando se trabaja con varias tablas en una sola consulta, como cuando se realizan JOIN. Esta claridad reduce la confusión sobre a qué columna se hace referencia.
- Si hay dos o más tablas que tienen columnas con el mismo nombre, el uso de nombres de columna completos puede evitar conflictos. Por ejemplo, si tiene products y orders tablas que tienen prod_id columnas, puede usar products.prod_id y orders.prod_id para diferenciar entre las dos.
- Al incluir nombres de tabla en las referencias de columna, el código SQL se vuelve más fácil de entender y mantener por otros desarrolladores o por ellos mismos en el futuro. Esto ayuda en la documentación y el desarrollo continuos.
Conclusión
Aprender las sentencias SELECT en MySQL es esencial para gestionar los datos de forma adecuada y segura. Con la capacidad de recuperar datos específicos, la flexibilidad en la selección de columnas, el mantenimiento de la claridad y la mejora del rendimiento, puede mejorar la eficiencia y la calidad de sus proyectos. Seguir las prácticas recomendadas, como el uso de nombres de columna completos y un formato coherente, también es beneficioso para la documentación y la solución de problemas en el código SQL.