我完全是自學的,所以在我的知識中存在明顯的差距。當我需要從多個表中獲取數據時,我學會了如何進行連接。例如,如果我需要一個憑證號,賬號,並從憑證表的平衡,並從另一個表中的相應的地址,我應該這樣做:mySQL中的連接與其他方法
select v.voucherNbr, v.balanceInit, v.acctID, a.address, a.city from vouchers v
left join addresses a on v.acctID = a.id
這將返回所有的憑證記錄,任何地址碰巧存在(在這種情況下,即使沒有相應的地址,我們也要返回憑證記錄,因此左連接。)
我最近繼承了一些代碼,似乎試圖獲取相同的數據(並在這種情況下,它確實返回正確的記錄),它是這樣做的:
select v.voucherNbr, v.balanceInit, v.acctID, a.address, a.city from vouchers v, addresses a
where v.acctID = a.id
任何人都可以向我解釋這樣做,而不是使用連接的影響。正如我所說的,在這種特殊情況下,它確實會返回與連接相同的數據,但它會一直存在嗎?