Re: [SQL ] 资料查询问题

楼主: cocobox (钱盒子)   2015-01-26 10:27:33
※ 引述《oklp1415 (天生我材)》之铭言:
: (针对 SQL 语言的问题,用这个标题。请用 Ctrl+Y 砍掉这行)
: 数据库名称:MYSQL
: 数据库版本:MySQL 服务器版
: 内容/问题描述:
: http://ppt.cc/ITNl
抱歉,前天赶着出门没检查就贴给你.
我现在就跟你解释一下这题要怎么解.
我们先来取得薪水>40000的人
SELECT * FROM Personnel where Salary > 40000;
然后来找同部门并且薪水>40000的人2人(含)以上的部门
SELECT Department FROM Personnel where Salary > 40000 group by Department
having count(Department) >=2;
再来找薪水>45000的人,他的名字 年龄 部门
SELECT Name,Age,Department FROM Personnel where Salary > 45000;
最后把二个Queries串起来,找同部门并且薪水>40000的人2人(含)以上的部门里面薪水
>45000的人.
SELECT Name,Age,Department FROM Personnel where Salary > 45000 and Department
=
(SELECT Department FROM Personnel where Salary > 40000 group by Department
having count(Department) >=2) ;
就是答案了.
作者: oklp1415 (天生我材)   2015-01-27 13:26:00
赞!!简单明了,感谢指导。小弟这里再提出个语法上小问题,如果内部查询Salary > 45000, 外部查询Salary > 40000改成这样,是找不到资料的,想问说这样的差异点是在哪? 因为常常会写成自身的语法,不像大大这么漂亮的结构!!
楼主: cocobox (钱盒子)   2015-01-29 10:03:00
因为你两个条件互换就变空集合了啊....

Links booklink

Contact Us: admin [ a t ] ucptt.com