2 u011371270 u011371270 于 2016.03.17 12:01 提问

mysql 帮忙解释一下这句话什么意思

我有个表格 类似如下图,它主要来自于前段的更新,每一次更新都会增加一条记录,比如,我今天对lead-1进行了更新,那就会新增一条lead-1的状态
项目编号 预计成交日期 状态更新日期 项目状态
lead-1 2016-6-4 2016-3-1 跟踪
lead-1 2016-6-5 2016-3-2 谈判中
lead-1 2016-7-5 2016-3-3 审核中
lead-2 2016-3-5 2016-3-1 跟踪
lead-2 2016-4-9 2016-3-2 审核中
我要完成的是,但我要完成一个查询,结果只包含最近更新的数据
select * from progress as b where not exists(select 1 from progress where 项目编号 = b.项目编号
and b.项目更新日期<项目g更新日期 )

结果成功的,显示
项目编号 预计成交日期 状态更新日期 项目状态
lead-1 2016-7-5 2016-3-3 审核中
lead-2 2016-4-9 2016-3-2 审核中

但是我不知道那句sql查询语句到底是怎么实现的,谁能帮忙解释一下吗?

1个回答

u011489205
u011489205   2016.03.17 13:31
已采纳

1.这一整句sql包含内外两个字sql。
2.使用存在量词EXISTS后,若内层查询结果为非空,则外层的WHERE子句返回值为真,否则返回值为假。
3.与EXISTS谓词相对的是NOT EXISTS谓词。使用存在量词NOT EXISTS后,若对应查询结果为空,则外层的WHERE子语句返回值为真值,否则返回假值。
解释:因为内层的sql执行依赖外层的b的相关属性,执行的时候:
首先取外层查询中(b)表的第一个元组(第一条记录),
根据它与内层查询相关的属性值(项目编号和项目更新日期)处理内层查询,
若外层的Where条件为真,也就是内查询查不出记录。那么就将外层查询的该元组加入查询结果中。
依次执行外层查询的每一个元组(每一条记录)。

u011371270
u011371270 恩,,非常感谢!
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
【数据结构】栈的应用--括号的匹配(c++)
头文件: #pragma once #include #include #include using namespace std; template class SeqStack { public: SeqStack(size_t sz = INIT_SZ); ~SeqStack(); public: bool empty()const; bool full()cons
Thinking in Java学习笔记 第七章:复用类
如果想初始化引用,可以在代码的下列位置进行: 在定义对象的地方。这意味着他们总是能够在构造器被调用之前初始化 在类的构造器中 就在正要使用这些对象之前,这种方式成为惰性初始化。在生成对象不值得以及不必每次都生成对象的情况下,这种方式可以减少额外的负担 使用实例初始化 继承语法:创建一个类的时候,总是在继承,除非已明确指出要从其他类继承,否则就是在隐式地从Java的标准根类Object进行继承。即便是
Spring4学习笔记(三):依赖注入的方式与细节
配置bean的方式有两种: 一、基于xml文件的方式配置bean的第一种方式在 xml 文件中通过 bean 节点来配置 bean<!-- 配置bean class:全类名,通过反射的方式在IOC容器中创建bean,要求类中存在无参构造函数 id:通过getbean("id")获得类对象。唯一 --> <bean id="helloWorld" clas
Discriminant analysis
, you know the identity of each individual (unlike cluster analysis) and you want to know how theexplanatory variables contribute to the correct classification of individuals. The method works by unco...
会生活吗?
以前学习历史、地理、政治、生物的时候,背了不少东西。现在我想了想,我什么时候能够给家人讲几个有趣的历史故事呢? 会生活吗? 问一问自己,会生活吗? 能说会道,当为善用,要给人带来快乐——比如讲几个故事。语言交流,是人独立生活必备的能力,不是什么了不起的手段。 空谈理想,却不会生活,过得惨又能怪谁?没有激情又能怪谁?
Spring配置 bean
在 Spring 的 IOC 容器里配置 Bean id="helloWorld" class="com.xiya.spring.beans.HelloWorld"> property name="name" value="lgh"/> 在 xml 文件中通过 bean 节点来配置 bean id:Bean 的名称。 在 IOC 容器中必须是唯一的 若 id 没有指
帮忙解释一下
-
TP3.2使用笔记
1.HTML页面的if判断这么写: &amp;lt;if condition=&quot;($name eq 1) OR ($name gt 100) &quot;&amp;gt; value1 &amp;lt;elseif condition=&quot;$name eq 2&quot;/&amp;gt; value2 &amp;lt;else /&amp;gt; value3 &amp;lt;/if&amp;gt; 2.Model层执行sql可以用$this,不需要写M再去实例化表名,举...
apache-tomcat-8.0.29-windows-x64.zip【最新tomcat服务器,windows 64位版】
apache-tomcat-8.0.29-windows-x64.zip【最新tomcat服务器,windows 64位版】,解压后即可使用,配置一下环境变量。
MySQL入门很简单-学习笔记 - 第17章 MySQL日志
17.1、日志简介 二进制日志 错误日志 通用查询日志 慢查询日志   17.2、二进制日志 二进制日志也叫作变更日志(update log),主要用于记录数据库的变化情况。通过二进制日志可以查询MySQL数据库中进行了哪些改变。 17.2.1、启动和设置二进制日