Guía Definitiva de Uniones y Subconsultas en SQL

Guía definitiva de Uniones y Subconsultas en SQL: domina INNER/LEFT/RIGHT/FULL JOIN, CROSS JOIN, subconsultas y CTE para consultas más eficientes y legibles.

9 sept 2025 • 5 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Bienvenido a la Guía Definitiva de Uniones y Subconsultas en SQL, parte 2 de nuestra serie práctica para dominar consultas sobre datos distribuidos en varias tablas. Aquí explicaremos de forma clara los distintos tipos de JOIN, cuándo usarlos, ejemplos reales y cómo las subconsultas y los CTE facilitan consultas más legibles y mantenibles.

Qué es un JOIN en SQL: en bases de datos relacionales los datos suelen estar normalizados en varias tablas relacionadas por claves. Un JOIN permite combinar filas de dos o más tablas usando una columna relacionada, normalmente una clave primaria y una clave foránea. Sintaxis básica: SELECT lista_de_columnas FROM tabla1 JOIN tabla2 ON tabla1.columna_comun = tabla2.columna_comun;

Cuándo usar JOIN: cuando los datos están normalizados en varias tablas, cuando se necesitan reportes que combinen entidades como clientes y pedidos, para validar que solo se recuperen registros emparejados, o para construir dashboards donde las relaciones importan.

Tipos principales de JOIN explicados con ejemplos sencillos

INNER JOIN: devuelve solo las filas que coinciden en ambas tablas. Ejemplo: SELECT e.name, e.salary, d.department_name FROM employees e INNER JOIN departments d ON e.department_id = d.department_id; Resultado: solo empleados con departamento válido.

LEFT JOIN: devuelve todas las filas de la tabla izquierda y las coincidencias de la derecha. Si no hay coincidencia, las columnas de la derecha aparecen como NULL. Ejemplo: SELECT e.name, e.salary, d.department_name FROM employees e LEFT JOIN departments d ON e.department_id = d.department_id; Resultado: todos los empleados, incluidos los sin departamento.

RIGHT JOIN: devuelve todas las filas de la tabla derecha y las coincidencias de la izquierda. Ejemplo: SELECT e.name, d.department_name FROM employees e RIGHT JOIN departments d ON e.department_id = d.department_id; Resultado: todos los departamentos, incluidos los sin empleados.

FULL OUTER JOIN: combina LEFT y RIGHT, devolviendo todas las filas cuando hay coincidencias en la izquierda o en la derecha. Ejemplo: SELECT e.name, d.department_name FROM employees e FULL OUTER JOIN departments d ON e.department_id = d.department_id; Resultado: visión completa de empleados y departamentos, incluyendo desajustes.

CROSS JOIN: producto cartesiano, combina cada fila de la primera tabla con cada fila de la segunda. Se usa raramente en producción, más para generar combinaciones o datos de prueba. Ejemplo: SELECT e.name, d.department_name FROM employees e CROSS JOIN departments d;

UNION: apila conjuntos de resultados. UNION elimina duplicados. Regla: ambas consultas deben devolver el mismo número de columnas con tipos compatibles. Ejemplo: SELECT columna FROM tabla1 UNION SELECT columna FROM tabla2;

Ejemplo de dataset de referencia: tabla employees con columnas employee_id, name, department_id, salary, hire_date; tabla departments con columnas department_id, department_name, location. Observa que algunos empleados pueden tener department_id NULL y algunos departamentos pueden no tener empleados asignados.

Claves: clave primaria identifica de forma única cada fila; clave foránea referencia la clave primaria de otra tabla y establece la relación necesaria para los JOIN.

WITH y Common Table Expressions CTE: cuando necesitamos reutilizar un resultado intermedio conviene usar WITH. Ejemplo práctico: calcular salario medio por departamento y luego unirlo con empleados. WITH dept_avg AS (SELECT department_id, AVG(salary) AS avg_salary FROM employees GROUP BY department_id) SELECT e.name, e.salary, d.department_name, dept_avg.avg_salary FROM employees e JOIN departments d ON e.department_id = d.department_id JOIN dept_avg ON e.department_id = dept_avg.department_id;

Subconsultas: una subconsulta es una consulta anidada que se ejecuta antes de la consulta externa. Pueden aparecer en SELECT, WHERE, FROM, INSERT, UPDATE o DELETE. Sintaxis típica en WHERE: SELECT columnas FROM tabla1 WHERE columna operador (SELECT columna FROM tabla2 WHERE condición);

Ejemplo de subconsulta escalar: encontrar empleados que ganan más que el salario medio. SELECT name, salary FROM employees WHERE salary > (SELECT AVG(salary) FROM employees);

IN y NOT IN: filtran comparando con una lista de valores resultado de la subconsulta. Ejemplo IN: SELECT name FROM employees WHERE department_id IN (101, 102); Ejemplo NOT IN: SELECT name FROM employees WHERE department_id NOT IN (101, 102);

EXISTS y NOT EXISTS: prueban si la subconsulta devuelve filas. EXISTS devuelve verdadero si la subconsulta produce al menos una fila. Ejemplo: SELECT * FROM employees e WHERE EXISTS (SELECT * FROM departments d WHERE d.department_id = e.department_id); Para empleados sin departamento usar NOT EXISTS.

Buenas prácticas rápidas: especifica siempre las columnas que necesitas en lugar de usar SELECT *, usa alias claros para tablas, evita CROSS JOIN accidental, indexa columnas usadas en ON y WHERE, maneja explícitamente NULLs en tus condiciones, y considera CTEs para mejorar legibilidad.

Cómo encaja esto con Q2BSTUDIO: en Q2BSTUDIO desarrollamos soluciones de software a medida y aplicaciones a medida que integran consultas SQL optimizadas y arquitecturas de datos escalables. Si necesitas una aplicación que combine datos relacionales, inteligencia artificial y visualización con Power BI podemos ayudarte. Descubre nuestros servicios de software a medida en software a medida y explora nuestras soluciones de inteligencia artificial para empresas, agentes IA y automatización inteligente.

Además de desarrollo y IA, ofrecemos servicios de ciberseguridad y pentesting, servicios cloud aws y azure, servicios inteligencia de negocio y consultoría en power bi para mejorar la toma de decisiones. Palabras clave relevantes para esta guía: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.

Resumen final: dominar JOINs y subconsultas es fundamental para cualquier profesional que trabaje con datos. Con INNER, LEFT, RIGHT, FULL y CROSS JOIN cubres la mayoría de los escenarios de combinación; las subconsultas y CTEs te dan flexibilidad y legibilidad adicional. Si buscas implementar estas técnicas en soluciones reales, Q2BSTUDIO puede acompañarte desde el diseño de la base de datos hasta la integración con IA y dashboards en Power BI.

Gracias por avanzar en tu viaje con SQL. Si quieres que diseñemos una solución a medida que aproveche consultas eficientes, inteligencia de negocio y agentes IA, vamos a trabajar juntos en tu proyecto.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat