Tipos de JOIN en el FROM

Creado por David Miralpeix, Modificado el Vie, 16 Feb a 12:24 P. M. por David Miralpeix

Los tipos de operadores JOIN que nos podemos encontrar en la cláusula FROM son los siguientes:

  • CROSS JOIN: Producto cartesiano de tablas
  • INNER JOIN: Devuelve solo los registros coincidentes
  • LEFT JOIN: Devuelve todas las filas de la tabla de la izquierda y las filas de la derecha que coinciden, las que no coinciden se rellenan a nulos
  • RIGHT JOIN: Devuelve todas las filas de la tabla de la derecha y las filas de la izquierda que coinciden, las que no coinciden se rellenan a nulos
  • FULL JOIN: devuelve de las dos tablas las coincidentes y las no coincidentes, como si hiciéramos y Right y un Left a la vez.

 

Los operadores de tabla son procesados de izquierda a derecha.

Ejemplos:

A continuación, se muestra el conjunto de resultados obtenidos tras la aplicación de diferentes operadores JOIN.

-- ejemplo 4.1. crear tabla

CREATE TABLE [dbo].[Tab_PruebasA](

                [Id] [int] NOT NULL,

                [Descrip] [varchar](50) NULL,

CONSTRAINT [PK_Tab_PruebasA] PRIMARY KEY CLUSTERED ([Id] ASC))

 

CREATE TABLE [dbo].[Tab_PruebasB](

                [Id] [int] NOT NULL,

                [Descrip] [varchar](50) NULL,

                [IdEstado] [bit] NOT NULL CONSTRAINT [DF_Tab_PruebasB_IdEstado]  DEFAULT ((0)),

CONSTRAINT [PK_Tab_PruebasB] PRIMARY KEY CLUSTERED ([Id] ASC)) 

 

-- poblar tablas

INSERT INTO [Tab_PruebasA] VALUES (1,'111111'),(2,'222222'),(3,'333333'),(4,'444444') 

INSERT INTO [Tab_PruebasB] VALUES (1,'111111',0),(2,'222222',1),(5,'555555',0) 

 

 

 

Cuando se trabaja con el operador INNER JOIN es indiferente si la condición o filtro de nuestra consulta la ponemos en el ON del operador o en la cláusula WHERE. Sin embargo, cuando trabajamos con el operador LEFT JOIN o RIGHT JOIN los resultados varían:

 

<< Artículo anterior                                                                                                                                      Siguiente artículo >>

¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo