Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sql面试题中一个作者想表达意思的疑惑 #2403

Closed
fox-half-tian opened this issue May 25, 2024 · 2 comments
Closed

sql面试题中一个作者想表达意思的疑惑 #2403

fox-half-tian opened this issue May 25, 2024 · 2 comments
Labels
bug Content error

Comments

@fox-half-tian
Copy link
Contributor

文章路径:数据库/基础/SQL/SQL常见面试题总结(1)/创建高级连接/列出供应商及其可供产品的数量

部分原文如下:

【问题】列出供应商(Vendors 表中的 vend_id)及其可供产品的数量,包括没有产品的供应商。你需要使用 OUTER JOIN 和 COUNT()聚合函数来计算 Products 表中每种产品的数量,最后根据 vend_id 升序排序。

注意:vend_id 列会显示在多个表中,因此在每次引用它时都需要完全限定它。

SELECT vend_id, COUNT(prod_id) AS prod_id
FROM Vendors
LEFT JOIN Products
USING(vend_id)
GROUP BY vend_id
ORDER BY vend_id

文章中也写了注意要进行限定 vend_id 所在表,但是这个 sql 语句并没有做限定,是遗漏了还是故意写个错的?

@fox-half-tian
Copy link
Contributor Author

进行限定的 SQL:

SELECT v.vend_id, COUNT(prod_id) AS prod_id
FROM Vendors v
LEFT JOIN Products p
USING(vend_id)
GROUP BY v.vend_id
ORDER BY v.vend_id

@Snailclimb
Copy link
Owner

文章路径:数据库/基础/SQL/SQL常见面试题总结(1)/创建高级连接/列出供应商及其可供产品的数量

部分原文如下:

【问题】列出供应商(Vendors 表中的 vend_id)及其可供产品的数量,包括没有产品的供应商。你需要使用 OUTER JOIN 和 COUNT()聚合函数来计算 Products 表中每种产品的数量,最后根据 vend_id 升序排序。

注意:vend_id 列会显示在多个表中,因此在每次引用它时都需要完全限定它。

SELECT vend_id, COUNT(prod_id) AS prod_id
FROM Vendors
LEFT JOIN Products
USING(vend_id)
GROUP BY vend_id
ORDER BY vend_id

文章中也写了注意要进行限定 vend_id 所在表,但是这个 sql 语句并没有做限定,是遗漏了还是故意写个错的?

没注意到,当时这段代码我在牛客的编辑运行区执行也是没问题的。

@Snailclimb Snailclimb added the bug Content error label May 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Content error
Projects
None yet
Development

No branches or pull requests

2 participants