gpt4 book ai didi

mysql - SQL 子查询练习 : Display the salesmen which name are alphabetically lower than the name of the customers

转载 作者:行者123 更新时间:2023-11-29 19:15:31 25 4
gpt4 key购买 nike

这是关于w3resource的问题: http://www.w3resource.com/sql-exercises/subqueries/sql-subqueries-inventory-exercise-21.php
您可以在上面的链接中查看表格的内容。这是我的解决方案:

SELECT *
FROM SALESMAN S WHERE S.SALESMAN_ID IN
(
SELECT C.SALESMAN_ID
FROM CUSTOMER C
WHERE S.NAME < C.CUST_NAME
);

我只接待了一位名叫 Jame Hoog 的推销员。这是该网站的解决方案:

SELECT *  
FROM salesman a
WHERE EXISTS
(SELECT *
FROM CUSTOMER b
WHERE a.name < b.cust_name);

我真的不明白他们为什么使用 EXISTS,我认为我的解决方案在逻辑上仍然与他们的解决方案相同。请告诉我我的解决方案有什么问题。请

最佳答案

这两个查询并不相同,我将对此进行解释。您的查询或单个记录结果集没有任何问题,如本演示所示:

Rextester

此查询查找每个推销员,该推销员至少有一个客户的姓名按字典顺序大于他自己的姓名。只有推销员詹姆斯·胡格 (James Hoog) 的名字在字典顺序上比他的任何客户都少。

另一方面,来自网站的查询正在从每条记录中查找字典顺序小于任何客户(他自己的其他人)的推销员姓名在 Salesman 表中。这是一个比您的查询中使用的要求宽松得多的要求。这里的逻辑是保留任何存在姓名大于该推销员的客户的推销员。只有 Pit Alex 和 Paul Adam 未能满足此要求,没有姓氏以字母“P”或任何大于该字母的字母开头的顾客。

关于mysql - SQL 子查询练习 : Display the salesmen which name are alphabetically lower than the name of the customers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42745807/

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