sql >> Base de Datos >  >> RDS >> Database

Uniones SQL

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

Las uniones son álgebra relacional aplicada .

Suponga que tiene 2 tablas, people y cars :

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 conduciendo, parece joven y quiere saber su edad de su base de datos.

Roger es mi perro, pero supongamos que los perros pueden conducir automóviles.

Podemos crear una unión con esta sintaxis:

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

Obtendremos este resultado:

 age 
-----
   8

¿Qué está pasando? Estamos uniendo los dos carros de las tablas en dos columnas específicas:name de las people tabla y owner de los cars mesa.

Las uniones son un tema que puede crecer en complejidad porque hay muchos tipos diferentes de uniones que puede usar para hacer cosas más sofisticadas con varias tablas, pero este es el ejemplo más básico.