Dobre praktyki SQL: złączenia INNER JOIN czy w klauzuli WHERE?

Problem: Jak połączyć dwie tabele w SQL’u? Ma to być złączenie równościowe (INNER JOIN). Tylko rekordy, które spełniają warunek złączenia mają być wybrane. Nic więcej, nic mniej.

Jak zapisać złączenie między nimi? Jaka jest dobra praktyka? Jak stworzyć kod, który będzie łatwy w utrzymaniu, rozbudowie i czytelny dla innych członków zespołu?

Możliwości:
1. Użyj klauzuli: INNER JOIN

FROM dbo.Users usr
INNER JOIN dbo.Posts post ON (post.OwnerUserId = usr.Id)

2. Wymień tabele, które chcesz złączyć w zaraz za FROM i później wykonaj złączenia w WHERE

FROM dbo.Users usr, dbo.Posts post
WHERE post.OwnerUserId = usr.Id

Rozwiązanie: Użyj INNER JOIN – składnia jest bardziej czytelna a kod będzie łatwiejszy w utrzymaniu i debugowaniu. Argumenty znajdziesz poniżej.

Read More