Uniones SQL

Cómo realizar una unión simple entre dos tablas de base de datos

Las uniones son una herramienta muy poderosa. ¿Recuerda el álgebra relacional del módulo de introducción a la base de datos?

Las uniones sonálgebra relacional aplicada.

Suponga que tiene 2 mesas,peopleycars:

CREATE TABLE people (
  age INT NOT NULL,
  name CHAR(20) NOT NULL PRIMARY KEY
);

CREATE TABLE cars ( brand CHAR(20) NOT NULL, model CHAR(20) NOT NULL, owner CHAR(20) NOT NULL PRIMARY KEY );

Agregamos algunos datos:

INSERT INTO people VALUES (37, 'Flavio');
INSERT INTO people VALUES (8, 'Roger');
INSERT INTO cars VALUES ('Ford', 'Fiesta', 'Flavio');
INSERT INTO cars VALUES ('Ford', 'Mustang', 'Roger');

Ahora digamos que queremos correlacionar las dos tablas, porque la policía detuvo a Roger, parece joven y quiere saber su edad en su base de datos.

Roger es mi perro, pero supongamos que los perros pueden conducir coches.

Podemos crear ununirsecon esta sintaxis:

SELECT age FROM people JOIN cars ON people.name = cars.owner WHERE cars.model='Mustang';

Obtendremos este resultado de vuelta:

 age 
-----
   8

What is happening? We are joining the two tables cars on two specific columns: name from the people table, and owner from the cars table.

Joins are a topic that can grow in complexity because there are many different kind of joins that you can use to do fancier things with multiple tables, but here is the most basic example.


More database tutorials: