sql – 多个外连接语义
发布时间:2020-12-12 08:47:43 所属栏目:MsSql教程 来源:网络整理
导读:一些SQL代码: SELECT *FROM table1 tab1 LEFT OUTER JOIN table2 tab2 ON (tab1.fg = tab2.fg) LEFT OUTER JOIN table4 tab4 ON (tab1.ss = tab4.ss) INNER JOIN table3 tab3 ON (tab4.xya = tab3.xya) LEFT OUTER JOIN table5 tab5 ON (tab4.kk = tab5.kk)
一些SQL代码:
SELECT * FROM table1 tab1 LEFT OUTER JOIN table2 tab2 ON (tab1.fg = tab2.fg) LEFT OUTER JOIN table4 tab4 ON (tab1.ss = tab4.ss) INNER JOIN table3 tab3 ON (tab4.xya = tab3.xya) LEFT OUTER JOIN table5 tab5 ON (tab4.kk = tab5.kk) 我知道什么不同类型的JOIN做,但我想知道的是:对于每个JOIN,哪个表承担“左”表的作用? table1总是有“LEFT”表的作用吗? 解决方法它们按照从上到下的顺序进行处理,所有连接都与先前FROM子句的“整体”相关联.所有的事情都是平等: > tab1是带有可选伙伴选项卡2的OUTER JOIN的强制合作伙伴 但是,这个查询的问题 SELECT * FROM table1 tab1 LEFT OUTER JOIN table2 tab2 ON tab1.fg = tab2.fg LEFT OUTER JOIN table4 tab4 ON tab1.ss = tab4.ss INNER JOIN table3 tab3 ON tab4.xya = tab3.xya LEFT OUTER JOIN table5 tab5 ON tab4.kk = tab5.kk INNER JOIN with table3是否使用了“需要”选项卡4的条件,从而使它几乎成为一个强制性的链接,以保留左侧部分的记录,因此总共tab1 / tab4 / tab3必须成功加入,而tab2和tab5是可选的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |