SQL INNER JOIN

última actualización el 26 de febrero de 2020 08:07:43 (UTC/GMT +8 horas)

¿qué es Inner Join en SQL?

la combinación interna selecciona todas las filas de ambas tablas participantes siempre que haya una coincidencia entre las columnas. Una combinación interna de SQL es lo mismo que la cláusula JOIN, combinando filas de dos o más tablas.,

sintaxis:

SELECT * FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name; 

o

SELECT * FROM table1JOIN table2 ON table1.column_name = table2.column_name; 

presentación pictórica:

la combinación interna en SQL une dos tablas de acuerdo con la coincidencia de un criterio determinado utilizando un operador de comparación.

Diagrama de sintaxis-unión interna

Ejemplo: unión interna SQL entre dos tablas

Aquí hay un ejemplo de unión interna en SQL entre dos tablas.,

tabla de muestra: alimentos

tabla de muestra: empresa

para unir el nombre del artículo, Las columnas de la unidad del artículo de la tabla de alimentos y el nombre de la empresa, las columnas de la ciudad de la empresa de la tabla de la empresa, con la siguiente condición –

1., company_id of foods and company table must be same,

se puede usar la siguiente instrucción SQL :

código SQL:

salida:

Ejemplo de SQL INNER JOIN usando JOIN keyword

para obtener el nombre del elemento, las columnas de la unidad del elemento de la tabla de alimentos y el nombre de la empresa, las columnas de la ciudad de la empresa de la tabla de la empresa, después de unir estas tablas mencionadas, con la siguiente condición –

1., company id of foods y company id of company table deben ser iguales,

se puede utilizar la siguiente declaración SQL:

código SQL:

salida:

presentación pictórica:

SQL INNER JOIN for all columns

para obtener todas las columnas de foods and company table después de unirse, con la siguiente condición –

1., company id of foods y company id of company table deben ser iguales,

se puede utilizar la siguiente instrucción SQL:

código SQL:

SELECT * FROM foods JOIN company ON foods.company_id =company.company_id;

Output:

diferencia entre JOIN y INNER JOIN

JOIN devuelve todas las filas de las tablas donde el registro clave de una tabla es igual a los registros clave de otra tabla.

la combinación interna selecciona todas las filas de ambas tablas participantes siempre que haya una coincidencia entre las columnas. Una combinación interna de SQL es lo mismo que la cláusula JOIN, combinando filas de dos o más tablas.,

una unión interna de A y B da el resultado de una intersección B, es decir, la parte interna de una intersección de diagrama de Venn.

Las uniones internas utilizan un operador de comparación para hacer coincidir las filas de dos tablas en función de los valores de las columnas comunes de cada tabla. Por ejemplo, recuperar todas las filas donde el número de identificación del estudiante es el mismo para las tablas estudiantes y cursos.,

Usando la cláusula de unión

SELECT * FROM Table1 JOIN Table2 ON Table1.column_name=Table2.column_name;

Usando la cláusula de unión interna

SELECT * FROM Table1 INNER JOIN Table2 ON Table1.column_name= Table2.column_name;

diferencia entre la unión interna y la unión externa

una unión interna es tal tipo de unión que devuelve todas las filas de ambas tablas participantes donde el registro de clave de una tabla es igual a los registros de clave de otra tabla. Este tipo de combinación requería un operador de comparación para hacer coincidir las filas de las tablas participantes en función de un campo o columna común de ambas tablas.,

donde como la unión externa devuelve todas las filas de las tablas participantes que cumplen la condición y también aquellas filas que no coinciden con la condición aparecerán en esta operación. Este conjunto de resultados puede aparecer en tres tipos de formato –

el primero es LEFT OUTER JOIN, en este join incluye todas las filas de una tabla izquierda de la cláusula JOIN y las filas no coincidentes de una tabla derecha con valores nulos para las columnas seleccionadas.,

la segunda es la unión externa derecha, en esta unión incluye todas las filas de la derecha de la causa de unión y las filas no coincidentes de la tabla izquierda con valores nulos para las columnas seleccionadas.

la última en combinación externa completa, en esta combinación, incluye las filas coincidentes de las tablas izquierda y derecha de la cláusula JOIN y las filas no coincidentes de la tabla izquierda y derecha con valores nulos para las columnas seleccionadas.

ejemplo:

Aquí hay dos tablas tableX y tableY y no tienen filas duplicadas en cada una., En tableX los valores (A,B) son únicos y en tableY los valores (E,F) son únicos, pero los valores (C y D) son comunes en ambas tablas.

Aquí es INNER JOIN

SELECT * FROM tableX INNER JOIN tableY on tableX.X = tableY.Y;

o

SELECT tableX.*,tableY.* FROM tableX,tableY WHERE tableX.X = tableY.Y;

Salida:

Aquí sólo la coincidencia de ambos tableX y tableY han aparecido en el conjunto de resultados.,

Aquí está la unión externa izquierda

SELECT tableX.*,tableY.* FROM tableX,tableY WHERE tableX.X = tableY.Y(+)

o

SELECT * FROM tableX LEFT OUTER JOIN tableY ON tableX.X= tableY.Y

salida:

aquí todas las filas del tableX que está en el lado izquierdo de la cláusula de unión y todas las filas con han aparecido valores nulos para columnas no coincidentes de Tabley que es el lado derecho de la cláusula join.,

Aquí está la Unión exterior derecha

SELECT * FROM tableX RIGHT OUTER JOIN tableY ON tableX.X= tableY.Y

salida:

aquí han aparecido todas las filas de tableY que es el lado derecho de la cláusula JOIN y todas las filas con valores nulos para columnas no coincidentes de tableX que es el lado izquierdo de la cláusula JOIN.

Aquí está la unión externa completa

SELECT * FROM tableX FULL OUTER JOIN tableY ON tableX.X= tableY.Y

salida:

aquí han aparecido todas las filas coincidentes de tableX y tableY y todas las filas no coincidentes con valores nulos para ambas tablas.,

INNER JOIN EN vs cláusula where

La cláusula where, lo que se hace es que todos los registros que cumplan la condición where están incluidos en el conjunto de resultados, pero una combinación INTERNA es que, los datos que no coincidan con la condición de combinación, se excluye del conjunto de resultados.

el enlace entre dos o más tablas debe hacerse usando una cláusula interna JOIN ON, pero el filtrado de elementos de datos individuales debe hacerse con la cláusula WHERE.

INNER JOIN es una sintaxis ANSI mientras que la sintaxis WHERE está más orientada al modelo relacional.,

la unión interna generalmente se considera más legible y es un producto cartesiano de las tablas, especialmente cuando se unen muchas tablas, pero el resultado de dos tablas JOIN’Ed se puede filtrar en columnas coincidentes utilizando la cláusula WHERE.,

inner JOINS: Relational Databases

  • Oracle INNER JOIN
  • MySQL INNER JOIN
  • SQLite INNER JOIN
  • PostgreSQL INNER JOIN

puntos clave para recordar

Haga clic en lo siguiente para obtener la presentación de diapositivas –

las salidas de dicha instrucción SQL que se muestran aquí se toman utilizando Oracle Database 10g Express Edition.,Gestión

  • Movie Database
    • consultas básicas en movie Database
    • subconsultas en movie Database
    • Se une a movie Database
  • Soccer Database
    • Introducción
    • consultas básicas en soccer Database
    • subconsultas en soccer Database
      • Se une a consultas en soccer Database
      • base de datos del hospital
        • Introducción
        • básico, subconsultas y se une
      • base de datos de empleados
        • consultas básicas en la base de datos de empleados
        • subconsultas en la base de datos de empleados
      • Más por venir!,

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *