栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

我会误会加入吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

我会误会加入吗?

您对#1的描述是正确的…查询问题在步骤#2上。

当您进行

leftjoin
从王国到(家庭和物种)的交易时,即使没有匹配的(家庭和物种),您也要请求每个王国…但是,这不会返回任何不符合您要求的(家庭和物种)组合没有匹配的王国。

一个更接近的查询将是:

select *    from reino r         full join (  familia f    right join especie e      on f.fnombre = e.efamilia      and f.freino = e.ereino         ) on r.rnombre = f.freino and r.rnombre = e.ereino;

请注意,将

left join
替换为
full join

但是,这仅返回与某个物种相关联的家庭……它不返回与该王国相关联的任何家庭,而不返回任何与物种相关联的家庭。

重新阅读您的问题后,这实际上是您想要的…


编辑:经过进一步的思考,您可以像这样重新编写查询:

select *from     especie e    left join familia f         on f.fnombre = e.efamilia        and f.freino = e.ereino    full join reino r        on r.rnombre = f.freino         and r.rnombre = e.ereino;

我认为这是可取的,因为您消除了

RIGHT JOIN
通常由于风格不佳而被皱眉的…和括号,这对于人们正确解析以确定结果将是棘手的。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/669960.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号