An explicit join is a clear and direct way to define a join in an SQL query, where the type of join (such as INNER JOIN
, LEFT JOIN
, RIGHT JOIN
, or FULL OUTER JOIN
) is explicitly stated.
SELECT *
FROM customers
INNER JOIN orders
ON customers.customer_id = orders.customer_id;
This makes it clear:
Which tables are being joined (customers
, orders
)
What kind of join is used (INNER JOIN
)
What the join condition is (ON customers.customer_id = orders.customer_id
)
An implicit join is the older style, using a comma in the FROM
clause, and putting the join condition in the WHERE
clause:
SELECT *
FROM customers, orders
WHERE customers.customer_id = orders.customer_id;
This works the same, but it's less clear and not ideal for complex queries.
More readable and structured, especially with multiple tables
Clear separation of join conditions (ON
) and filter conditions (WHERE
)
Recommended in modern SQL development