gpt4 book ai didi

sql - SELECT 1 和 SELECT COUNT(1) 在 Oracle SQL 中有何作用?

转载 作者:行者123 更新时间:2023-12-01 20:16:21 27 4
gpt4 key购买 nike

我今天刚刚参加了一个 Java 开发人员职位的面试,他们问了我这个问题

你能说出其中的区别吗

SELECT 1 FROM table
SELECT count(1) FROM table
SELECT count(*) FROM table

我查找了堆栈溢出,但找不到满意的答案。我已经成为一名 Java 开发人员,了解 SQL 多年,但从未使用过像 Select 1 或 select count(1) 这样不熟悉的语句

这也是整个问题。即,这些查询不属于任何更大的查询。

您能帮我得到这个问题的答案吗?

最佳答案

SELECT 1 FROM table

将返回1,次数与中的记录数相同。

SELECT count(1) FROM table

将返回中所有记录的计数。

SELECT count(*) FROM table

同上。

Oracle 使用

* 作为提示(技术上不是提示,而是类似的东西),因此它允许它选择最佳索引来计算计数。这是与 select count(1)... 的主要区别类似地,这与 WHERE EXISTS (SELECT 1 FROM ...)WHERE EXISTS(SELECT * FROM ...) 背后的想法相同。 no longer relevant现代 Oracle RDBMS 引擎。

关于sql - SELECT 1 和 SELECT COUNT(1) 在 Oracle SQL 中有何作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41387846/

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