Dominando SQL: Consultas Avanzadas, Joins, Subconsultas y Vistas

Clasificado en Informática

Escrito el en español con un tamaño de 4,98 KB

Operadores de Combinación: UNION y UNION ALL

UNION: Se utiliza cuando se necesita combinar los resultados de dos o más consultas en una única tabla de resultados totales. Ejemplo: Confeccionar un listado de los clientes y los vendedores indicando a qué grupo pertenece cada uno.

Condiciones para el uso de UNION:

  • Ambas tablas deben contener el mismo número de columnas.
  • Ninguna de las dos tablas puede contener la cláusula ORDER BY de forma individual. Esta debe ir al final de todo el bloque de consultas.
  • El tipo de dato de cada columna de la primera tabla tiene que ser el mismo tipo de dato de la columna correspondiente en la segunda tabla.

UNION ALL: El operador UNION por defecto no muestra datos repetidos. Si queremos que se muestren todos los registros, incluyendo los duplicados, utilizamos UNION ALL.

Consultas Sumarias (Funciones de Agregación)

  • SUM(columna): Calcula el total de una columna.
  • AVG(columna): Calcula el valor promedio de una columna.
  • MIN(columna): Encuentra el valor más pequeño de una columna.
  • MAX(columna): Encuentra el valor mayor de una columna.
  • COUNT(columna): Cuenta el número de valores de una columna (por ejemplo, cantidad de unidades vendidas).
  • COUNT(*): Cuenta las filas totales de resultados de la consulta (por ejemplo, cantidad de clientes, facturas, artículos, etc.).

Combinación de Tablas: JOIN

JOIN: Se emplea para obtener información de dos tablas y combinar dicha información en una única salida.

LEFT JOIN: Se emplea una combinación externa izquierda para mostrar todos los registros de la tabla izquierda (primera tabla). Si no se encuentra coincidencia con la tabla de la derecha (segunda tabla), el registro muestra los campos de la segunda tabla establecidos a NULL.

RIGHT JOIN: Una combinación externa derecha opera del mismo modo, solo que la tabla derecha es la que localiza los registros en la tabla izquierda, mostrando todos los registros de la tabla derecha y rellenando con NULL los de la izquierda si no hay coincidencia.

Subconsultas en la Cláusula WHERE

  • Test de comparación: Compara el valor de una expresión con el valor único producido por una subconsulta y devuelve el resultado en TRUE si la comparación es cierta.
  • Test de pertenencia al conjunto (IN): Compara un único valor de datos con una columna de valores producida por una subconsulta y devuelve un resultado TRUE si el valor coincide con uno de los valores de la columna.
  • Test de existencia (EXISTS): Comprueba si una subconsulta produce alguna fila de resultados.
  • Test cuantificados (ANY): Se utiliza uno de los seis operadores de comparación para comprobar el valor del test con cada valor de datos en la columna, uno a la vez. Si alguna de las comparaciones individuales produce un resultado TRUE, el test ANY devuelve un resultado TRUE.
  • Test cuantificados (ALL): Se utiliza también con uno de los seis operadores de comparación. Funciona igual que el ANY, con la diferencia de que si todas las comparaciones individuales producen un resultado TRUE, el test ALL devuelve un resultado TRUE.

Diferencia entre WHERE y HAVING

La cláusula WHERE se aplica a filas individuales, por lo que las expresiones que contiene deben ser calculables para filas individuales. Por otro lado, la cláusula HAVING se aplica a grupos de filas, por lo que las expresiones que contenga deben ser calculables para grupos de filas. HAVING: Se utiliza típicamente cuando la condición involucra una consulta sumaria o función de agregación.

Vistas en Bases de Datos (Views)

Una vista ofrece la posibilidad de almacenar una consulta predefinida como un objeto en una base de datos para usarse posteriormente.

Ventajas de las Vistas:

  • Centrar el interés en los datos del usuario: Permite el acceso a datos específicos mientras se oculta el resto.
  • Las vistas ocultan la complejidad del diseño de la base de datos.
  • Seguridad y control de acceso: En lugar de conceder a los usuarios permisos para consultar columnas específicas, los propietarios de las bases de datos pueden conceder permisos para que el usuario solo pueda consultar los datos a través de vistas.
  • Mejora el rendimiento en la organización de consultas complejas.
  • Permite organizar los datos para exportarse a otras aplicaciones de manera sencilla.

Entradas relacionadas: