Recordemos que un OUTER JOIN es una consulta que se realiza entre dos tablas cuando se requiere que aparezcan todos los registros de una de ellas sin importar que en la otra existan registros relacionados. Si la tabla que contiene todos los registros está a la “izquierda” de la cláusula JOIN, debe utilizarse un “LEFT OUTER JOIN” y si esta tabla está a la “derecha” de la cláusula JOIN, debe utilizarse un “RIGHT OUTER JOIN”.
En la publicación anterior se usó como ejemplo una consulta que mostraba la información de los clientes y sus facturas: si el cliente no tenía facturas, la información de éstas vendría con valores NULL. Esto se escribió de la siguiente manera:
SELECT * FROM
CLIENTE AS C LEFT OUTER JOIN FACTURA AS F
ON C.ID_CLIENTE = F.ID_CLIENTE;
En este caso, se utilizó un LEFT OUTER JOIN ya que la tabla con todos los registros (Clientes) está a la izquierda de la instrucción LEFT OUTER JOIN. Si la tabla de clientes hubiera estado a la derecha del JOIN, esta consulta hubiera traído resultados idénticos:
SELECT * FROM
FACTURA AS F RIGHT OUTER JOIN CLIENTE AS C
ON F.ID_CLIENTE = C.ID_CLIENTE;
Las reuniones por la izquierda y la derecha son conceptos antagónicos pero al ser implementadas racionalmente se obtienen resultados idénticos.
No hay comentarios:
Publicar un comentario