mybatis中#与$的区别 数据库中exists语句的用法

数据库中exists语句的用法的用法你知道吗?下面小编就跟你们详细介绍下数据库中exists语句的用法的用法,希望对你们有用。

数据库中exists语句的用法的用法如下:

SQL中EXISTS的用法

问题:查询学过编号为"01"并且也学过编号为"02"的课程的同学的信息

--方法1

Sql代码

select Student.* from Student , SC where Student.S# = SC.S# and SC.C# = '01' and exists (Select 1 from SC SC_2 where SC_2.S# = SC.S# and SC_2.C# = '02') order by Student.S#

EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False

例表A:TableIn

例表B:TableEx

(二). 比较使用 EXISTS 和 IN 的查询。注意两个查询返回相同的结果。

mybatis中#与$的区别 数据库中exists语句的用法

select * from TableIn where exists(select BID from TableEx where BNAME=TableIn.ANAME)

select * from TableIn where ANAME in(select BNAME from TableEx)

(三). 比较使用 EXISTS 和 = ANY 的查询。注意两个查询返回相同的结果。

select * from TableIn where exists(select BID from TableEx where BNAME=TableIn.ANAME)

select * from TableIn where ANAME=ANY(select BNAME from TableEx)

NOT EXISTS 的作用与 EXISTS 正好相反。如果子查询没有返回行,则满足了 NOT EXISTS 中的 WHERE 子句。

一种通俗的可以理解为:将外查询表的每一行,代入内查询作为检验,如果内查询返回的结果取非空值,则EXISTS子句返回TRUE,这一行行可作为外查询的结果行,否则不能作为结果。

EXISTS与IN的使用效率的问题,通常情况下采用exists要比in效率高,因为IN不走索引,但要看实际情况具体使用:

IN适合于外表大而内表小的情况;EXISTS适合于外表小而内表大的情况。

  

爱华网本文地址 » http://www.413yy.cn/a/217661/55557109.html

更多阅读

梦想商店街员工类型 网上虚拟商店的类型

    一般可根据销售的商品范围和销售的目的对网上商店进行分类。   1.按销售的商品范围分类    (1)销售单一商品的网上商店。这类网上商店一般只销售一种商品,它适用于某种商品的生产厂商或代理商在网上进行的销售业务。

新生儿发烧 新生儿发烧如何对症下“药”

  新生宝宝发烧对于父母来说是一件天大的事情,退烧也就成最需迫切解决的问题,如果此时随便服用退烧药,往往会适得其反。宝宝发烧,究竟该怎么办呢?  新生宝宝比较容易发烧,这是由于新生宝宝体温调节功能不完善,保暖、出汗、散热功能都

春联对联大全 2015春联生意7字对联

   春联生意7字对联2015(一)  上联:经营不让陶朱富  下联:贸易长存管鲍风  上联:经营得法家家富  下联:管理有条事事通  上联:开放一桥驰万马  下联:承包两字富千门  上联:开源能引千泓水  下联:节约可来万

声明:《mybatis中#与$的区别 数据库中exists语句的用法》为网友指尖上得阳光分享!如侵犯到您的合法权益请联系我们删除