Una de las funciones más potentes de SQL es la operación JOIN, la cual proporciona un medio elegante y sencillo de combinar con cada una de las filas de una tabla y con cada fila de otra tabla. Sin embargo, hay ocasiones en la que es posible que queramos encontrar valores de una tabla que NO están presentes en otra tabla. Como veremos en el artículo del blog de hoy, las “joins” también pueden ser utilizadas para este propósito, incluyendo un predicado sobre el cual se unen las tablas. Conocidas como antijoins, estas pueden ser útiles para responder una variedad de preguntas relacionadas con los negocios, como:
- ¿Qué clientes no hicieron un pedido?
- ¿A qué empleados no se les ha asignado un departamento?
- ¿Qué vendedores no cerraron un contrato de venta esta semana?
Este blog ofrecerá una introducción a los tipos existentes de “antijoins” y cómo escribirlos utilizando algunos ejemplos basados en la base de datos PostgreSQL dvdrental database. Escribiremos y ejecutaremos las consultas en Navicat Premium Lite 17.
La mayoría de los desarrolladores y administradores de bases de datos están familiarizados con los tipos estándar de JOIN: interna, externa, izquierda y derecha. Si bien estos se pueden escribir utilizando ANSI SQL, existen otros tipos de “joins” que se basan en operadores de álgebra relacional que no tienen una representación de sintaxis en SQL. Hoy veremos uno de estos tipos: “Semi Join”. La semana que viene abordaremos la unión “Anti Join”. Para comprender mejor cómo funcionan estos tipos de uniones, ejecutaremos algunas consultas SELECT en Navicat Premium Lite 17 contra la base de datos PostgreSQL dvdrental database. Esta es una base de datos gratuita que se basa en la base de datos de muestra MySQL Sakila.
Si ha estado escribiendo consultas SQL durante algún tiempo, probablemente esté bastante familiarizado con la cláusula WHERE. Si bien no tiene ningún efecto sobre los campos agregados, existe una forma de filtrar registros según los valores agregados, y es mediante la cláusula HAVING. En este blog se le explicará cómo funciona y le brindará algunos ejemplos sobre su uso en consultas SELECT.
El operador EXISTS de SQL nos ofrece una manera sencilla de recuperar datos en función de la existencia (o no existencia) de otros datos. Más específicamente, es un operador lógico que evalúa los resultados de una subconsulta y devuelve un valor booleano que indica si se devolvieron filas o no. Si bien el operador IN se puede utilizar para el mismo propósito, existen algunas diferencias que se deben tener en cuenta. El blog de hoy cubrirá cómo usar el operador EXISTS mediante algunos ejemplos y también brindará algunas pautas sobre cuándo usar EXISTS en lugar de IN.
A mediados de los noventa, Sun Microsystems presentó un lenguaje que se podía "escribir una vez y ejecutar en todas partes". Ese lenguaje era, por supuesto, Java. Y, aunque llegó a ser uno de los lenguajes de programación más populares hasta el día de hoy, su eslogan resultó ser un poco optimista. El curso del lenguaje Java tiene algunas similitudes importantes con el de SQL. También se puede trasladar de una base de datos a otra, o incluso a través de sistemas operativos, con poca o ninguna modificación. Al menos, ese es el sueño. En el mundo real, el código de nivel de producción tiende a requerir algunos ajustes para funcionar en un nuevo entorno. Este blog describirá algunas de las razones por las que la sintaxis SQL puede diferir entre los distintos proveedores de bases de datos.
- 2026 (1)
- Abril (1)
- Marzo (1)
- Los costes ocultos de los servicios de bases de datos cloud (y cuándo el modelo On-Premise tiene más sentido financiero)
- Cómo la finalización de código con IA está cambiando la forma en que los DBAs escriben SQL
- Control de acceso basado en roles en entornos de Bases de Datos: entendiendolo bien
- Alojamiento de bases de datos On-Premise frente a Cloud: Cómo elegir el enfoque adecuado para su organización
- Primeros pasos con los asistentes de IA en Navicat On-Prem Server 3.1
- SQL vs. NoSQL: cómo elegir la mejor opción para tu Proyecto
- Febrero (1)
- Métricas que realmente importan en la monitorización de bases de datos
- Guía práctica sobre los niveles de aislamiento de transacciones en bases de datos
- Explicación del agrupamiento de conexiones (Connection Pooling)
- Gestión segura de credenciales de bases de datos
- Creación de arquitecturas resilientes de bases de datos
- El futuro de los modelos de licencias de bases de datos: Cómo afrontar el cambio en la forma en que pagamos por la infraestructura de datos
- Enero (1)
- Aprovechando la potencia de PostgreSQL: Introducción a Supabase
- El ROI de la automatización de bases de datos: Cómo cuantificar el valor de negocio del Ajuste Automatizado, de los Parcheados y de la Optimización
- Observabilidad en bases de datos: la nueva frontera en la gestión del rendimiento
- La Crisis de la Brecha de Habilidades en Bases de Datos: Cómo Afrontar la Escasez de Profesionales Especializados
- La Economía de las Bases de Datos Multi-cloud
- 2025 (1)
- Diciembre (1)
- Reimaginando el consejo: Nuevos enfoques para la consistencia en Bases de Datos Distribuidas
- Bases de Datos en Contenedores y la Evolución de Kubernetes
- Las bases de datos se encuentran con WebAssembly: llevando el procesamiento de datos al navegador y más allá
- Seguridad de Bases de Datos en la Era de la Inteligencia Artificial
- Noviembre (1)
- Bases de Datos en el Metaverso: Satisfaciendo las nuevas demandas de los mundos virtuales
- El Renacimiento de las Bases de Datos Geoespaciales: Transformando las Aplicaciones Basadas en Ubicación
- Monetización de Activos de Datos: Guía sobre los Mercados de Bases de Datos y el Intercambio de Información
- Database-as-Code: Extendiendo Infrastructure-as-Code a la Gestión de Bases de Datos
- Octubre (1)
- Setiembre (1)
- Agosto (1)
- Más allá de la Monitorización Básica: Plataformas Modernas de Observabilidad en Bases de Datos
- Bases de Datos que preservan la privacidad: Protección de Datos sin sacrificar el acceso
- Cifrado Resistente a la Computación Cuántica en Bases de Datos Modernas
- Guía sobre el Sharding de Bases de Datos como Servicio
- Julio (1)
- Junio (1)
- El auge de las capacidades de IA/ML integradas en las bases de datos modernas
- Bases de Datos Inmutables: ¿La Evolución de la Integridad de los Datos?
- Acceso transparente a la Información mediante Virtualización de Datos y Federación
- Integración DevOps en Bases de Datos: cerrando la brecha entre desarrollo y operaciones
- Mayo (1)
- Bases de Datos Edge: Potenciando entornos de computación distribuida
- El auge de las interfaces de bases de datos de bajo código y sin código: democratizando la gestión de datos
- Data Vault 2.0: Un enfoque moderno para el modelado de datos empresariales
- Arquitecturas de Streaming – First: Revolucionando el procesamiento de datos en tiempo real
- Abril (1)
- Marzo (1)
- Cómo las bases de datos Zero-ETL están transformando la integración de datos moderna
- Procesamiento transaccional híbrido / analítico: cerrando la brecha entre operaciones y análisis
- Navicat 17.2: Gestión de Bases de Datos más inteligente soportadas con IA & Mejoras en las Capabilidades Cloud
- Arquitectura de Data Lakehouse: la evolución de la gestión de datos empresariales
- Febrero (1)
- Enero (1)
- Diciembre (1)
- 2024 (1)

