zoukankan      html  css  js  c++  java
  • sql语句中的exists

    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
    条件就是查询相同姓名 没有比查询的记录的薪资高的记录
    实际结果就是薪资的最大值.

  • 相关阅读:
    Python 模块管理
    Python 练习: 计算器
    Linux 系统性能分析工具 sar
    Python 正则介绍
    Python ConfigParser 模块
    Python logging 模块
    Python hashlib 模块
    Python sys 模块
    09 下拉框 数据验证
    08 条件排序
  • 原文地址:https://www.cnblogs.com/chinaqzh/p/2604866.html
Copyright © 2011-2022 走看看