zoukankan      html  css  js  c++  java
  • 数据库自学笔记(2)--- HAVING和WHERE, ANY 和 ALL,IN和EXIST。

    1.HAVING和WHERE:

    WHERE 和 HAVING 的作用对象不一样。WHERE作用于基本表或视图,挑出满足条件的元组。HAVING作用于组(group),一般配合GROUP BY 使用。

    2.ANY 和 ALL:

    all 是将后面的内容看成一个整体,

    如: >all (select age from student where sex = 'girl')上面一句语句表示比所有女生年纪大(比年纪最大的女生的年纪还要大)相当于内容的 and 语句。

    如果是any,它表示其中任意一个条件都可以 >any (select age from student where sex = 'girl')

    这一句表示的意思是,只要比任意一个女生年纪大就可以了(比年纪最小的女生的年纪大)相当于内容中添加了or 语句。

    其他还有很多种应用,比如<>ANY 代表 不等于查询结果中的某个值。

    3.IN和EXIST:

    EXIST:存在,后面一般都是子查询,当子查询返回行数时,exists返回true。如果内层查询结果为null的话,返回false.

    select * from class where exists (select'x"form stu where stu.cid=class.cid)

    当in和exists在查询效率上比较时,in查询的效率快于exists的查询效率 。

    exists(xxxxx)后面的子查询被称做相关子查询, 他是不返回列表的值的.

    IN:包含 ,查询和所有女生年龄相同的男生 select * from stu where sex='男' and age in(select age from stu where sex='女')

    in()后面的子查询 是返回结果集的,换句话说执行次序和exists()不一样.

    子查询先产生结果集, 然后主查询再去结果集里去找符合要求的字段列表去.符合要求的输出,反之则不输出.

    参考:https://www.cnblogs.com/xuanhai/p/5810918.html

  • 相关阅读:
    使用jsonp跨域调用百度js实现搜索框智能提示(转)
    jsonp 跨域
    Aixs2发布webservice服务
    java web service 上传下载文件
    java 网页 保存上传文件
    flash、js 函数 互相调用
    java web工程启动socket服务
    mysql 在Windows下自动备份
    Servlet中几个常用方法的推衍
    Tomcat常用设置 <持续更新>
  • 原文地址:https://www.cnblogs.com/cptCarlvon/p/12212420.html
Copyright © 2011-2022 走看看