INNER JOIN vs LEFT RIGHT FULL OUTER JOIN

Джойны - это запросы, комбинирующие строки из нескольких таблиц, представлений или материализованных представлений, которые перечислены в секции FROM запроса.

INNER JOIN
Inner join или просто join возвращает только те строки из двух таблиц, которые удовлетворяют условию указанному в ON:

SELECT 
    s.id, 
    s.supplier_name, 
    o.order_date 
FROM suppliers s
INNER JOIN orders o 
    ON o.supplier_id = s.id;

OUTER JOIN
Outer join возвращает все строки, удовлетворяющие условию, указанному в ON, а также некоторые строки, которые не удовлетворяют этому условию:

  • LEFT JOIN - дополнительно возвращает все строки из левой части условия;
  • RIGHT JOIN - дополнительно возвращает все строки из правой части условия;
  • FULL JOIN - дополнительно возвращает все строки из обеих частей условия.


Поясняющая картинка из статьи на CodeProject: