2 huojingfeng huojingfeng 于 2014.10.28 17:17 提问

sql查询时的疑问,再次查找不从原来的结果中找

create table works(employee_name varchar(60) primary key,company_name varchaar(60),salary double)
创建表works包含三个字段 员工名 公司名 工资
然后插入几个数据
"insert into works values(’张三’,’abc’,80)";
"insert into works values(’aaa’,’abc’,20)";
"insert into works values(’bbb’,’abc’,30)";
"insert into works values(’ccc’,’abc’,40)";
"insert into works values(’ddd’,’123’,50)";
"insert into works values(’eee’,’123’,60)";
然后查找工资数最少的人在哪个公司
select company_name from(select company_name,min(salary) from works)
查询的结果是错误的。问什么会出错啊??

select * from(select company_name,min(salary) from works)
查出来的是包含最少收入信息的。

select company_name from works where salary = (select min(salary) from works)这样求出来就是正确的
我用的数据库是Qt自带的QSQLITE
我就是想问,这种问题是数据库问题,还是我对min函数不了解

1个回答

freedamjustice
freedamjustice   2014.10.29 17:30

其他数据库也是错的。你把select company_name,min(salary) from works单独查询一下就看出结果了。

Csdn user default icon
上传中...
上传图片
插入图片