7-14 EXISTS子查询

Posted gcm_walker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7-14 EXISTS子查询相关的知识,希望对你有一定的参考价值。

EXISTS:

只注重于子查询是否有返回行,如果查有返回行返回结果为值,否则为假

并不使用子查询的结果,仅用于测试子查询是否有返回结果。

语法:

IF EXISTS (子查询)

BEGIN

语句块

END

例子:

IF EXISTS (SELECT *FROM  sysdatebases WHRER name="E_Market")
DROP    DATEBASE  B_Market 
GO
CREATE   DATEBASE E_Market 
{
}
GO

如果数据库里面存在E_Market,那么为真,就会执行DROP DATEBASE  E_Market这一句话,否则为假。

列题:

一次性购买“数码产品”的数量操作3个的,消费金额打8折;

根据已知项查询未知项:

根据类别名称去查询类别编号:

SELECT SortId   FROM  CommidSort WHERE  SortName=‘手机数码‘

根据类别的编号去查询商品的编号:

SELECT CommId  FROM  CommidInfo WHRER ID=
{
SELECT SortId   FROM  CommidSort WHERE  SortName=‘手机数码‘
}  

根据商品编号去查询订单表中购买数量超过3个的用户信息:

SELCT *FROM OrderInfo WHERE SortID IN 
{
SELECT CommId  FROM  CommidInfo WHRER ID=
{
SELECT SortId   FROM  CommidSort WHERE  SortName=‘手机数码‘
}  
}AND Amount >3

购买超过3个的用户的付款金额打8折:

对付款金额打8折:

UPDATE  OrderInfo  SET PanMoney=panMoney*0.8
WHRE Commid in
{
SELECT CommId  FROM  CommidInfo WHRER ID=
{
SELECT SortId   FROM  CommidSort WHERE  SortName=‘手机数码‘
} AND Amount>3 
}

  

 

以上是关于7-14 EXISTS子查询的主要内容,如果未能解决你的问题,请参考以下文章

sql语句中嵌套时候用in 和=有啥区别

sql语句中如何用 EXISTS 引入子查询?没有exists引入子查询时怎样实现子查询?

EXISTS和 NOT EXISTS 子查询 (高级查询 二)

当不使用 EXISTS 引入子查询时,选择列表中只能指定一个表达式。 - SQL 服务器

不使用 EXISTS 引入子查询时,选择列表中只能指定一个表达式

SQL 中 EXISTS 与 NOT EXISTS