IF OBJECT_ID(N'a') IS NOT NULL DROP TABLE a CREATE TABLE a (id INT NOT NULL, NAME VARCHAR(20), class VARCHAR(20), COUNT INT, date DATETIME ) INSERT INTO a VALUES ('1','苹果','水果',10,'2011-7-1'),('1','桔子','水果',20,'2011-7-2'),('1','香蕉','水果',15,'2011-7-3') INSERT INTO a VALUES('2','白菜','蔬菜',12,'2011-7-1'), ('2','青菜','蔬菜',19,'2011-7-2') 如果想要得到下面的结果:(Id唯一,Date选最近的一次) 1 香蕉 水果 15 2011-7-3 2 青菜 蔬菜 19 2011-7-2 语句如下: SELECT * FROM A T WHERE NOT EXISTS (SELECT * FROM A WHERE id=t.id AND date>t.date) 注:NOT EXISTS 的作用与 EXISTS 正相反。如果子查询没有返回行,则满足 NOT EXISTS 中的 WHERE 子句。 即Exists做为WHERE条件时,是先对where前的主查询进行查询,然后用主查询的结果一个一个的代入exists的子查询进行判断,如果为真则输出当前这一条主查询的结果,否则不输出
发表评论
-
转:避免全表扫描的sql优化
2015-02-05 16:37 1278http://tech.diannaodian.com/dw/ ... -
给表加上聚集索引和非聚集索引
2014-12-11 17:28 652创建简单非聚集索引 以下示例为 Purchasing.Pro ... -
查看表中索引语句
2014-12-11 10:37 641SELECT object_name(object_id) ... -
SQL2008一行转多行的精典写法
2013-08-28 12:06 382--创建测试表 create table t1( id ... -
在sql server中利用with as实现递归功能
2013-06-25 10:48 496在sqlserver2005之前,要实现递归功能比较麻烦,比如 ... -
SQL 2005 with(nolock)详解
2013-06-17 17:03 555大家在写查询时, ... -
用SQL语句查询每门成绩都大于80的学生姓名
2013-05-29 10:39 1679昨天遇到的一个SQL面试题,感觉很有趣。 表名stu 结构 ... -
SqlServer强制断开数据库已有连接的方法
2013-02-22 11:03 1593在master数据库中执行如下代码 declare @i IN ... -
Sql获取第一天、最后一天
2013-01-03 14:56 9603① 本月第一天(--减去今天再加上1天) SELECT DAT ... -
表函数与游标
2012-12-25 16:07 707--建立数据源 create table tb1(zm ch ... -
sql server 2005 输出表的函數用法
2012-12-25 16:02 801view sourceprint? 01 --sql ser ... -
SQL杂谈
2012-12-14 17:33 6721、如何用convert什么的把带有时分秒的日期转为时分秒都0 ... -
用FOR XML PATH将查询结果以XML输出
2012-09-20 17:54 1001本文从此而来 http://www.cnblogs.com/d ... -
left join on and
2012-09-20 10:23 840数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临 ... -
筛选索引简单使用
2012-08-17 11:29 1112对于在强制实施数据完整性时的一种常见需求,也可以用筛选索引来解 ... -
排名函数(ROW_NUMBER、RANK、DENSE_RANK)及OVER子句
2012-08-10 10:36 6587--在部门内新水排名(如果有相同名次,用dense_rank) ... -
SQL SERVER 中行列转换 PIVOT UNPIVO
2012-08-18 15:34 2289PIVOT用于将列值旋转为列名、同时执行聚合运算(即行转列), ... -
Apply简单使用举例
2012-08-09 17:20 979APPLY APPLY运算符把右表表达式应用左输入中 ... -
SQL Server 2008语句大全完整版
2012-08-09 10:39 1356--======================== ... -
Exists练习查找最小缺失值(Missing Value)
2012-07-17 09:34 949第一种方法 USE tempdb; GO IF OBJE ...
相关推荐
NOT EXISTS谓词: 若内层查询结果非空,则外层的WHERE子句返回假值;若内层查询结果为空,则外层的WHERE子句返回真值。 由EXISTS引出的子查询,其目标列表达式通常都用 * ,因为带EXISTS的子查询只返回真值或假值,...
2、EXISTS和NOT EXISTS的使用 3、WITH字句 4、MERGE INFO 合并资料 5、层次查询(HIERARICAL RETRIVEL) 6、DECODE函数和行列互换 7、CASE表达式 8、ROWNUM-TOP-N分析 9、相关子查询和非相关子查询 10、增强GROUP BY...
萨师煊、王珊老师的 (1) select * from teacher where Sname not like '张%' and Sname not like '王%' ... select * from teacher where not exists ( select * from tb where teacher.tid=tb.tid )
-带有EXISTS谓词的子查询 -集合查询 -基于派生表的查询 -Select总结 下午上次课学到了嵌套查询-3 今天我们来看一下 带有EXISTS谓词的子查询 3/20 15:30 ...NOT EXISTS谓词: 若内层查询结果非空,则外层
EXISTS谓词: ...NOT EXISTS谓词: 若内层查询结果非空,则外层的WHERE子句返回假值 若内层查询结果为空,则外层的WHERE子句返回真值 [例 3.60]查询所有选修了1号课程的学生姓名。 SELECT Sname FROM S
学习sql练习使用CREATE TABLE IF NOT EXISTS `area` ( `id` int(11) unsigned NOT NULL, `pid` int(11) NOT NULL DEFAULT '0', `name` varchar(20) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' ) ENGINE=InnoDB...
CREATE TABLE IF NOT EXISTS `message` ( `id` int(5) NOT NULL AUTO_INCREMENT, `title` varchar(50) NOT NULL, `n_time` varchar(25) NOT NULL, `author` varchar(30) NOT NULL, `image` varchar(50) DEFAULT...
解法二:select tname,depart from teacher a where not exists (select * from course b where a.tno=b.tno); 解法三:SELECT TNAME,DEPART FROM TEACHER WHERE TNO NOT IN (SELECT TNO FROM COURSE); NOT IN的方法...
CREATE TABLE IF NOT EXISTS `test`( id int PRIMARY KEY auto_increment, c1 char(10), c2 char(10), c3 char(10), c4 char(10), c5 char(10) ); INSERT INTO test(c1,c2,c3,c4,c5) VALUES ('a1','a2','a3','a4','...
CREATE TABLE IF NOT EXISTS sessions ( session_id serial, user_id int NOT NULL, date timestamp ); 使用者 CREATE TABLE IF NOT EXISTS users ( user_id serial, email varchar(255) UNIQUE NOT NULL, ...
如何开始: 步骤1.... 第2步。相应地进行更改 步骤3.... 步骤4.... 步骤5....步骤6....步骤7.... DROP TABLE IF EXISTS users;...DROP TABLE IF EXISTS categories;...DROP TABLE IF EXISTS posts;...user_email VARCHAR(255) NOT NULL
EXISTS ANY ALL 的使用147 总结151 问与答151 校练场152 练习153 第一周回顾154 预览154 第二周概貌155 这一周都讲些什么155 第八天操作数据156 目标156 数据操作语句156 插入语句157 INSERT VALUES 语句157 ...
工作中常用的SQL + 超复杂SQL ...not exists用法实例.txt ORACLE编程实用手册.doc patindex的用法.txt rename存储过程.txt replace.txt rowcount.txt rowcount精华.txt stuff.txt substring和rtrim.txt unionall.txt
用go编写的简单练习器api ...CREATE TABLE IF NOT EXISTS users ( user_id uuid, username text, name text, email text, phone text, PRIMARY KEY (user_id, username) ) ; 新增使用者 INSERT INTO users (u
if exists (select * from sysdatabases where name='stuDB') /*存在就先删除*/ drop database stuDB /*创建数据库*/ create database stuDB /*创建主数据库文件*/ on primary ( name='stuDB_data_1', --数据库逻辑...
创建数据库:CREATE DATABASE [ IF NOT EXISTS ] mydb1 [CHARSET=utf8]; 删除数据库:DROP DATABASE [ IF EXISTS ] mydb1 修改数据库编码:ALTER DATABASE mydb1 CHARACTER SET utf8 数据类型(列类型) int:整型 ...
yh print '存在' if not exists(select zgh from xsryb where zgh=@zgh_yh) print '提供的职工号不存在' exec proc_abc @zgh_yh='G11'; declare abc_cursor cursor for select year(xsrq) ,cpb.cph,cpb.cpm ,xsqkb.x...
os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '...
21天学习SQL V1.0.pdf 66 SQL 21 日自学通(V1.0) 翻译人笨猪 ...日期/时间函数............................................................................................................ADD_MONTHS..................
本书非常适合Java的初学者,如高校学生、求职人员作为练习、速查、学习使用,也适合Java程序员参考、查阅。 目 录 第1篇 Java语法与面向对象技术 第1章 开发环境的应用 2 1.1 Java环境 3 实例001 下载JDK开发...