Aby w zapytaniu SQL połączyć dane z dwóch tabel powiązanych relacją, należy użyć słowa kluczowego:
Źle.
GROUP BY grupuje wiersze na potrzeby agregacji, nie łączy tabel.Źle.
UNION łączy wyniki dwóch zapytań (wiersze jeden pod drugim), a nie tabele według relacji.Źle.
IN sprawdza, czy wartość należy do zbioru - nie złącza tabel.Dobrze.
JOIN złącza wiersze powiązanych tabel po wspólnym kluczu.Do łączenia danych z tabel powiązanych relacją służy
JOIN. Złączenie dopasowuje wiersze z różnych tabel według wspólnego pola - najczęściej klucza głównego w jednej i klucza obcego w drugiej - i zwraca je jako jeden wynik. Pozwala to np. pokazać zamówienie razem z danymi klienta. Występuje w odmianach (INNER, LEFT, RIGHT), które decydują, które wiersze bez dopasowania zachować. To właśnie JOIN realizuje relacyjne połączenie tabel w zapytaniu.Te słowa kluczowe łatwo pomylić, bo wszystkie pojawiają się w zapytaniach, lecz każde robi co innego.
UNION zestawia wyniki dwóch osobnych zapytań jeden pod drugim - łączy wiersze, nie tabele po relacji, i wymaga zgodnych kolumn. IN to operator warunku: sprawdza, czy wartość mieści się w podanym zbiorze lub wyniku podzapytania, ale nie scala tabel. GROUP BY grupuje wiersze o tej samej wartości, żeby policzyć sumy czy średnie - to agregacja, nie złączenie. Połączenie dwóch powiązanych tabel po wspólnym kluczu realizuje JOIN, dlatego to ono jest poprawną odpowiedzią.