Cześć, nie rozumiem różnic między dodaniem warunku WHERE, a INNER JOIN.
przerabiam accessa, mam w bazie 3 tabele:
-klienci (imie,nazwisko, pesel)
-filmy (tytul, id_filmu)
-wypozyczenia(pesel, id_filmu)
wszystkie są połączone relacjami. i robiąc to za pomocą myszki (czyli klikając które pola mają być pokazane, itd) wychodzi w kodzie SQL z inner join:
SELECT Klienci.Imie, Klienci.Nazwisko, Filmy.Tytul
FROM Klienci INNER JOIN (Filmy INNER JOIN Wypozyczenia ON Filmy.ID_filmu = Wypozyczenia.ID_filmu) ON Klienci.Pesel = Wypozyczenia.Pesel
GROUP BY Klienci.Imie, Klienci.Nazwisko, Filmy.Tytul;
A pisząc samemu używając WHERE
SELECT klienci.imie, klienci.nazwisko, filmy.tytul
FROM klienci, filmy, wypozyczenia
WHERE klienci.Pesel=wypozyczenia.Pesel AND wypozyczenia.ID_filmu=Filmy.ID_filmu
GROUP BY klienci.imie, klienci.nazwisko, filmy.tytul;
Wynik jest ten sam (tak mi się wydaje, bo tyle samo wyników ;))
Mógłby mi to ktoś prosto wyjaśnić - czemu używać inner join, a nie where, albo na odwrót?
czytałem trochę o "join" ale nie do końca rozumiem jego istoty (w tym przypadku)