Hay tres tipos principales de uniones SQLite.
- LA CRUZ SE UNE
- UNIR INTERNAMENTE
- IZQUIERDA COMBINACIÓN EXTERNA
Este tutorial lo guiará rápidamente a través de estas uniones SQLite y le mostrará cómo unir registros de base de datos.
Comencemos con INNER JOIN, ya que es simple y crea una base para que comprendamos otros tipos de JOIN.
1: LA UNIÓN INTERIOR
INNER JOIN 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 de INNER JOIN es:
SELECCIONAR columna (s) DE table1 INNER JOIN table2 ON table1.columna = tabla2.columna;Veamos una operación JOIN para ilustrar cómo funciona.
Suponga que tiene una tabla llamada usuarios con campos: id, nombre, edad, consulta SQL de muestra de idioma para crear la tabla a continuación:
CREAR TABLA "usuarios" ("id" INTEGER NOT NULL,
"nombre" TEXT NOT NULL,
"edad" INTEGER NOT NULL,
TEXTO "idioma",
LLAVE PRIMARIA (AUTOINCREMENTO "id")
);
También tenemos otra tabla llamada filas con la identificación de los campos y la consulta de rol-SQL proporcionada a continuación:
CREAR TABLA "Roles" ("id" INTEGER NOT NULL,
TEXTO "rol",
LLAVE PRIMARIA (AUTOINCREMENTO "id")
)
Ahora podemos ejecutar una operación SQLite INNER JOIN usando la consulta que se muestra a continuación:
SELECCIONAR usuarios.id, usuarios.nombre, roles.rol FROM usuarios INNER JOIN Roles ON 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 SQL JOIN es el CROSS JOIN. Este tipo hace coincidir cada fila de la primera tabla con cada fila de la segunda tabla. Piense en ello como un producto cartesiano porque los resultados son un conjunto de filas de la tabla 1 que coinciden con cada fila de 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 como resultado juegos de tablas enormes.
La sintaxis general de una combinación cruzada es:
SELECCIONE columna (s) DE table1 CROSS JOIN table2;Considere una combinación cruzada de la tabla del usuario con todas las filas de la tabla de roles. Considere la consulta SQL a continuación:
SELECCIONAR * DE los usuarios CROSS JOIN roles;La ejecución de 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. OUTER JOIN es una extensión de INNER JOIN. Al igual que INNER join, lo expresamos en condiciones como ON, NEUTRAL y USING. También es bueno tener en cuenta que SQL define tres tipos de UNIONES EXTERIORES: izquierda, derecha y completa, pero SQLite solo es compatible con LEFT JOIN.
El JOIN externo IZQUIERDO devuelve todas las filas de la tabla IZQUIERDA especificada 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.idioma DE los usuarios LEFT OUTER JOIN Roles ON users.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 JOIN, ya que son muy útiles cuando se trabaja con bases de datos.
Gracias por leer!