gpt4 book ai didi

mysql - 创建 SQL 命令以从给定表中检索数据

转载 作者:行者123 更新时间:2023-11-29 16:12:08 24 4
gpt4 key购买 nike

美好的一天,我是一名大学生,最近我们有一项作业,要求我们根据 3 个不同表中需要显示的信息,针对各种问题编写 SQL 命令。以下是说明和示例问题以及提供的解决方案:

Instructions + Sample Question & Solution

Given Table

以下是我的回答:

My Solved Questions Part 1

My Solved Questions Part 2

我想知道是否还有其他方法可以缩短我对 7 个问题的每个答案,最好是尽可能短的代码。作为一个好奇的人,效率对我来说很重要,最好使用更短的命令。例如,我非常确定 #7 中的这段代码可以缩短:

SELECT  pNo, MAX(qty), (SELECT MAX(qty) FROM sp WHERE pNo IN (SELECT pNo                 
FROM p WHERE pName = 'Nut' OR pName = 'Cam') ) AS MAXcamORnut
FROM sp
GROUP BY pno
HAVING MAX(qty) > ALL (SELECT qty FROM sp WHERE pNo IN(SELECT pNo FROM
p
WHERE pName = 'Nut' OR pName = 'Cam'));

除此之外,我还有两个 Unresolved 问题,我不知道如何解决,任何开始的想法将不胜感激。提前谢谢你们:)

Unsolved Questions

最佳答案

为了减少 SQL 查询中的困惑,您可以尝试使用 CTE(公用表表达式)而不是子查询。

示例:

WITH cte_sel_max as (
SELECT nestID, max(eggID) as last_own_egg from nests where own_egg = TRUE group by nestID
)
select eggs.nestID,
eggs.eggID as false_egg_ID
from eggs join cte_sel_max cte
on (eggs.nestID=cte.nestID and eggID > last_own_egg)

直接回答作业问题超出了本网站的范围;)

关于mysql - 创建 SQL 命令以从给定表中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55175228/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com