zoukankan      html  css  js  c++  java
  • 【SQL sever】exists关键字

    exists关键字是用来判断查询结果是否存在,当查询存在结果时则返回真,否则返回假。not exists则相反。

    使用子查询进行存在性测试时,一般使用exists谓词。带着个谓词的子查询不返回查询的数据,只返回逻辑真值与假植
    select Sname from student

    Where exists

    Select * from SC where sno = Student.sno and Cno =’01’)

    exists的谓词的查询是先执行外层查询,然后再执行内存查询,外层查询的值决定了内层查询的结果,内层查询的执行次数由外层查询的结果数决定。

    上述查询语句的处理过程为:

    1)    先查找外层表student的第一行,根据Sno值来处理内层查询

    2)    用外层的值来执行内层查询,如果有符合条件的数据,则exists返回真值,否则返回假值。如果exists返回真,则外层结果中的当前行数据位符合条件的结果;否则,是不符合条件的结果

    3)    顺序处理外层表student表中的第2,3,。。。行数据,直到处理完所有行

     

    select a.* from 成绩信息 a

    where exists(select * from 考试安排 where b.考试编号=a.考试编号 and b.考试编号 '0801')

    操作查询--exists关键字查询

    exists中采用子查询,如果在考试安排b表中查询到考试编号有0801,且a表中考试编号也有0801,则返回真,那么就把a表中所有满足查询条件的信息显示出来

    declare @username varchar(20) //声明了用户名变量

    declare @psd varchar(20)//声明了密码变量

    set @username = '2005040102'//赋值

    set @psd='苏普秀'

    if exists(select * from 学生信息 where 学号=@username and 姓名=@psd)

    //如果学生信息表中学号为2005040102,姓名为苏普秀的条目存在的话,返回真

    print '登陆成功'

    //打印出信息

    else

    print '登陆失败'

    操作查询--exists关键字查询

    转载:http://blog.sina.com.cn/s/blog_68b156d50101jsev.html

  • 相关阅读:
    查询避免Unknown column ‘xxx’ in ‘where clause
    Spring依赖循环:The dependencies of some of the beans in the application context form a cycle
    POJ(北京大学)刷题导航
    ACM使用Java提交总是超时的解决方法
    申请了服务器,建立了新博客。 不在用这个了。
    jeecg数据库添加字段后表单的修改
    jeecg普通表和数据字典的关联
    jeecg添加滚动图
    jeecg定时任务的bug记录
    classpath究竟是指哪里?
  • 原文地址:https://www.cnblogs.com/Zoeun/p/13026068.html
Copyright © 2011-2022 走看看