对于下表(我用**来表示主键的部分),我需要 SQL查询,力图提高效率(Oracle DBMS中)
Team (*tid*, name)
Game (*gid*, tid, name, year)
Member (*mid*, name)
MemberOf (*mid*, *tid*, startyear, endyear, position)
显示各史前锋(位置) 如果startyear为null,则使用从该玩家的那支球队 结果最早年度游戏:前锋名称,队名,开始年份,结束年份 由前锋名称排序,然后开始一年
虽然我有一个解决方案,我不认为它非常有效 执行计划推断节点成本为28. 是否希望获得改进建议和解释?
你试过联盟吗?这些对我来说看起来是互斥的查询,UNION ALL不会尝试过滤出重复的内容。当然,确保UNION ALL返回完全相同的结果。 – HLGEM
我没有看到任何能够让我找到特定团队最早比赛的年份的领域。你的游戏桌是否有一个你不显示的日期字段? –
谢谢HLGEM,全部都保存在节点上的费用 丹,你的权利,我错过了!编辑添加 – Hector