I'm completely self-taught, so there are obvious gaps in my knowledge. When I needed to be able to get data from more than one table, I learned how to do joins. For example, if I need a voucher number, account number, and balance from the vouchers table and a corresponding address from another table, I'd do this:
select v.voucherNbr, v.balanceInit, v.acctID, a.address, a.city from vouchers v left join addresses a on v.acctID = a.id
which would return all the voucher records, and any addresses that happen to exist (in this case we want to return voucher records even if there's no corresponding address, hence the left join.)
I've recently inherited some code that appears to be trying to get the same data (and in this case, it does return the correct records) that does it like this:
select v.voucherNbr, v.balanceInit, v.acctID, a.address, a.city from vouchers v, addresses a where v.acctID = a.id
Can anyone explain to me the implications of doing that instead of using a join. As I said, in this particular case it does return the same data that the join does, but would it always?