使用员工数据库(https://github.com/datacharmer/test_db)我(作为一个例子)以下语句:为什么COUNT(*)限制我的搜索,以1行
select first_name, count(*) from employees;
现在这将给以下的输出:
first_name | count(*)
Georgie | 300024
虽然这样的说法:
select first_name, (select count(*) from employees) from employees;
会给下面的输出:
first_name | select count(*) ...
Georgi | 300024
Bezalel | 300024
Parto | 300024
etc... | 300024
为了澄清我的问题:我不明白为什么第一条语句限制我的搜索查询,以1行(仅格奥尔基被显示出来),而最后一条语句(与子查询)显示所有的名字,因此没有按不像第一个那样限制我的搜索查询。
你的问题是什么? – BenM
@BenM我不明白为什么第一条语句将我的搜索查询限制为1行(只有Georgi显示),而最后一条语句(带有子查询)显示所有名称,因此不会将我的搜索查询限制为1排像第一个一样。 – moon
'从雇员中选择first_name,count(*);'实际上是一个指定不足的查询,MySQL解释类似'select a_random(first_name),count(*)from employees;'大多数其他RDBMS对这种查询。 –