not exists(select 1 什么意思
2014-10-22 14:28
549 查看
select * from tt t where not exists(select 1 from tt where 姓名=t.姓名 and 薪资>t.薪资 )
对于表tt的记录进行扫描,
对于其中任一条记录,查询相同表中相同姓名的记录,查找其中是否存在薪资>当前记录的薪资的记录,如存在,扫描到的记录即不符合条件,
如不存在,即扫描到的记录符合where的条件,将作为查询结果.
考虑最简单的情况
姓名,薪资
chen,1000 --此记录与全部chen记录1000-4000比较,2000以上>1000存在查询结果,此记录不符合where 条件
chen,2000 --此记录与全部chen记录1000-4000比较,3000以上>2000存在查询结果,此记录不符合where 条件
chen,3000 --此记录与全部chen记录1000-4000比较,4000>3000存在查询结果,此记录不符合where 条件
chen,4000 --此记录与全部chen记录1000-4000比较,没有>4000的记录,此记录符合where 条件
最后符合条件的记录为
chen,4000
条件就是查询相同姓名 没有比查询的记录的薪资高的记录
实际结果就是薪资的最大值.
对于表tt的记录进行扫描,
对于其中任一条记录,查询相同表中相同姓名的记录,查找其中是否存在薪资>当前记录的薪资的记录,如存在,扫描到的记录即不符合条件,
如不存在,即扫描到的记录符合where的条件,将作为查询结果.
考虑最简单的情况
姓名,薪资
chen,1000 --此记录与全部chen记录1000-4000比较,2000以上>1000存在查询结果,此记录不符合where 条件
chen,2000 --此记录与全部chen记录1000-4000比较,3000以上>2000存在查询结果,此记录不符合where 条件
chen,3000 --此记录与全部chen记录1000-4000比较,4000>3000存在查询结果,此记录不符合where 条件
chen,4000 --此记录与全部chen记录1000-4000比较,没有>4000的记录,此记录符合where 条件
最后符合条件的记录为
chen,4000
条件就是查询相同姓名 没有比查询的记录的薪资高的记录
实际结果就是薪资的最大值.
相关文章推荐
- select 1 from ... sql语句中的1代表什么意思? .
- 详解select count(1)什么意思
- oracle中select 1 from table是什么意思
- SELECT @@IDENTITY 中的@@是什么意思,如何应用?
- SELECT TOP 1 * FROM是什么意思
- select 1 from table 语句中的1代表什么意思
- select 1 from ..., sql语句中的1代表什么意思
- select 1 from ... sql语句中的1代表什么意思?
- select 1 from ... sql语句中的1代表什么意思?
- @mysql_select_db ,在mysql_select_db()前加上@是什么意思?
- select 1 from ... sql语句中的1代表什么意思?
- select 1 from ... sql语句中的1代表什么意思?
- 句话是什么意思?if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[PerPer
- 这句话是什么意思?if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[PerPer
- select 1 from ... sql语句中的1代表什么意思?
- select a method for export 各选项都是什么意思
- select 1 from ... sql语句中的1代表什么意思?
- (转)select 1 from ... sql语句中的1代表什么意思? .
- $(document).on('selectstart',function(){ return false; })是什么意思
- select 1 from ..., sql语句中的1代表什么意思