Cómo unir las tablas en SQLite

Cómo unir las tablas en SQLite
A veces, al trabajar con bases de datos, es posible que necesitemos unir registros de tablas en una base de datos. Cuando ese es el caso, podemos usar la instrucción de unión SQL que combina los campos especificados utilizando valores comunes en cada campo.

Hay tres tipos principales de uniones de sqlite.

  1. La cruz se une
  2. UNIR INTERNAMENTE
  3. IZQUIERDA COMBINACIÓN EXTERNA

Este tutorial lo guiará rápidamente a través de estas uniones de SQLite y le mostrará cómo unirse a los registros de la base de datos.

Comencemos con la unión interna, ya que es simple y construye una base para que comprendamos otros tipos de unión.

1: la unión interior

La unión interna funciona creando una nueva tabla combinando los valores de las tablas especificadas. Comienza comparando la fila en cada tabla y encontrando todos los pares coincidentes según el predicado especificado. Luego combina los pares coincidentes en una sola fila.

La sintaxis general para la unión interna es:

Seleccione la (s) columna (s) de la Tabla1 Tabla de unión interna 2 en la Tabla1.columna = tabla2.columna;

Veamos una operación de unión para ilustrar cómo funciona.

Supongamos que tiene una tabla llamada Usuarios con campos: ID, nombre, edad, consulta SQL de muestra de lenguaje para crear la tabla está a continuación:

Crear tabla "usuarios" (
"ID" entero no nulo,
texto de "nombre" no nulo,
Integer de "edad" no es nulo,
texto "lenguaje",
Clave principal ("ID" Autoincrement)
);

También tenemos otra tabla llamada filas con el ID de campos y la consulta de rol-SQL que se proporciona a continuación:

Crear "roles" de la tabla (
"ID" entero no nulo,
texto de "rol",
Clave principal ("ID" Autoincrement)
)

Ahora podemos ejecutar una operación de unión interna de SQLite utilizando la consulta que se muestra a continuación:

Seleccionar usuarios.ID, usuarios.nombre, roles.papel de los usuarios internos unir roles en los usuarios.ID = roles.identificación;

La consulta anterior dará como resultado la tabla que se muestra a continuación:

2: la unión cruzada

El otro tipo de unión SQL es la unión cruzada. Este tipo coincide con cada fila desde la primera tabla hasta cada fila en la segunda tabla. Piense en ello como un producto cartesiano porque los resultados son un conjunto de filas de la Tabla 1 coincidentes con cada fila en la Tabla 2. Por ejemplo, si la tabla1 tiene (a) filas y la tabla2 tiene (b) filas, la tabla resultante tendrá una fila*b.

NOTA: Tenga cuidado al usar uniones cruzadas, ya que tienen el potencial de dar lugar a enormes conjuntos de mesa.

La sintaxis general para una unión cruzada es:

Seleccione Columna (s) de la Tabla 1 Tabla de unión cruzada 2;

Considere una unión cruzada de la tabla del usuario con todas las filas de la tabla de roles. Considere la consulta SQL a continuación:

Seleccione * de los usuarios de roles de unión cruzada;

Ejecutar la consulta anterior dará como resultado una tabla como se muestra a continuación:

3: la unión exterior izquierda

La unión final que veremos es la unión exterior. La unión externa es una extensión de la unión interna. Al igual que Inner Join, lo expresamos en condiciones como ON, neutral y usando. También es bueno tener en cuenta que SQL define tres tipos de uniones exteriores: izquierda, derecha y completa, pero SQLite solo admite unirse a la izquierda.

La unión externa izquierda devuelve todas las filas de la tabla izquierda especificadas en la condición y solo las filas de otras tablas donde la condición unida es verdadera.

Considere la siguiente consulta.

Seleccionar usuarios.ID, usuarios.nombre, roles.rol, usuarios.El lenguaje de los usuarios dejó los roles de unión externa en los usuarios.ID = roles.identificación;

La consulta anterior dará como resultado la tabla que se muestra a continuación:

Conclusión

Este tutorial ha ilustrado cómo realizar uniones SQL en SQLite y crear nuevas tablas con información modificada. Es bueno seguir experimentando con SQL uniones a medida que son muy útiles cuando trabajan con bases de datos.

Gracias por leer!