`

Not Exists练习

 
阅读更多
   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查询语句练习题.docx

    该练习题涵盖了多种查询类型,包括简单查询、连接查询、子查询和 EXISTS/NOT EXISTS 查询等。 1. 检索电脑系的全体学生的学号和性别 该查询使用了简单的SELECT语句,选择S表中的Sno、Sname和Sex列,条件是Sdept=’...

    数据库嵌套语句练习册

    这可以通过使用`NOT EXISTS`子句实现。查询语句如下: ```sql Select * from 职工 where not exists(select * from 参加 where 参加 . 职工号 = 职工 . 职工号 ); ``` 这个查询会返回所有在“职工”表中但不在...

    SQL练习资源-具体练习操作可以查看我发布的文章

    create database if not exists hr DEFAULT CHARACTER set utf8; use hr; drop table if exists departments; drop table if exists employees; drop table if exists jobs; drop table if exists locations; drop...

    SQL练习5 – SELECT(嵌套查询EXISTS、集合查询、基于派生表的查询)

    总结来说,嵌套查询在SQL中扮演着至关重要的角色,尤其是`EXISTS`和`NOT EXISTS`子查询,它们允许我们在复杂的查询中处理存在性和非存在性条件。理解并熟练运用这些技术对于数据库查询优化和数据提取至关重要。

    数据库原理SQL查询练习题

    本节内容涵盖了数据库原理和SQL查询的多个知识点,包括SELECT语句、WHERE语句、多表连接、子查询、EXISTS语句、NOT IN语句、NOT EXISTS语句等。这些知识点都是数据库设计和开发的基础概念,掌握这些知识点对于数据库...

    Oracle 基础练习及答案

    1. 子查询和NOT EXISTS操作符:在第一个查询中,我们使用了NOT EXISTS子查询来找出没有下过采购订单的供应商。这涉及到表`Suppliers`和`Orders`之间的关联,通过比较`supplier_id`来确定供应商是否下过订单。`NOT ...

    数据库SQL查询语句练习题.pdf

    查询语句:SELECT DISTINCT Sno FROM SC AS X WHERE NOT EXISTS (SELECT * FROM SC AS Y WHERE Y.Sno = 'S3' AND NOT EXISTS (SELECT * FROM SC AS Z WHERE Z.Sno = X.Sno AND Z.Cno = Y.Cno)) ; 知识点:本查询...

    数据库SQL查询语句练习题.doc

    数据库SQL查询语句练习题 ...SQL语句:SELECT DISTINCT Sno FROM SC X WHERE NOT EXISTS (SELECT * FROM SC Y WHERE Y.Sno = ‘S3’ AND NOT EXISTS (SELECT * FROM SC Z WHERE Z.Sno = X.Sno AND Z.Cno = Y.Cno));

    Hive SQL练习题库

    CREATE TABLE IF NOT EXISTS student_info ( stu_id STRING COMMENT '学生 id', stu_name STRING COMMENT '学生姓名', birthday STRING COMMENT '出生日期', sex STRING COMMENT '性别' ) ROW FORMAT DELIMITED ...

    数据库SQL查询语句练习题(1).doc

    具体来说,我们将学习如何使用SELECT语句来检索数据、使用WHERE子句来过滤数据、使用AND和OR逻辑运算符来组合条件,以及使用NOT EXISTS和IN子句来实现复杂的查询逻辑。 1. 检索电脑系的全体学生的学号和性别 在这...

    homework_2_ch3_20150413_SQL参考答案1

    where NOT EXISTS (Select * from E where E.dno = 3 and NOT EXISTS (Select * from W where W.eno = E.eno and W.pno = P.pno)) 解释:该查询语句使用了 NOT EXISTS 谓词,条件是全体 3 号部门的职工都参加了的...

    收集的MSSQL练习题

    这些SQL练习题主要涉及...以上这些SQL练习题涵盖了基础的SQL查询语法,如SELECT、FROM、WHERE、JOIN、GROUP BY、HAVING、IN、NOT IN、EXISTS等,以及对多表连接和子查询的应用,对于学习和巩固SQL查询技巧非常有帮助。

    战胜SQL Server必做练习50题

    - EXISTS、NOT EXISTS:检查子查询是否返回至少一条记录。 4. **视图(View)** - 视图是虚拟表,基于一个或多个表的查询结果,可以简化复杂查询,提供数据的安全性。 5. **存储过程(StoredProcedure)** - 可...

    数据库的操作练习和讲解

    萨师煊、王珊老师的 (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 )

    【3.18数据库作业8】SQL练习8 – SELECT(嵌套查询EXISTS、集合查询、基于派生表的查询)

    -带有EXISTS谓词的子查询 -集合查询 -基于派生表的查询 -Select总结 下午上次课学到了嵌套查询-3 今天我们来看一下 带有EXISTS谓词的子查询 3/20 15:30 ...NOT EXISTS谓词: 若内层查询结果非空,则外层

    Oracle高级sql学习与练习

    2. EXISTS和NOT EXISTS子句通常用于子查询中,用以判断子查询返回的结果集是否为空。EXISTS子句在找到至少一条符合条件的记录时就会返回TRUE,而不关心具体有多少条符合条件的记录;相反,NOT EXISTS子句则用于判断...

    子查询相关练习

    - **使用存在子查询**:有时候可以利用 `EXISTS` 或 `NOT EXISTS` 来代替 `IN` 或 `NOT IN`,这可能会带来更好的性能。 - **避免使用嵌套子查询**:尽量减少子查询的层级,过多的嵌套可能会导致性能下降。 - **考虑...

Global site tag (gtag.js) - Google Analytics