SQL左连接还是多个表从行开始?

SQL左连接还是多个表从行开始?

大多数SQL方言都接受以下两种查询:

SELECT a.foo, b.fooFROM a, bWHERE a.x = b.xSELECT a.foo, b.fooFROM aLEFT JOIN b ON a.x = b.x

显然,当您需要外部联接时,需要使用第二种语法。但是,当执行内部连接时,为什么我应该更喜欢第二种语法而不是第一种(反之亦然)?


largeQ
浏览 795回答 3
3回答

凤凰求蛊

联接语法使条件保持在它们应用到的表附近。当您加入大量表时,这一点尤其有用。顺便说一句,您也可以使用第一种语法进行外部连接:WHERE a.x = b.x(+)或WHERE a.x *= b.x或WHERE a.x = b.x or a.x not in (select x from b)
打开App,查看更多内容
随时随地看视频慕课网APP