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语句中如何用 EXISTS 引入子查询?没有exists引入子查询时怎样实现子查询?
EXISTS和 NOT EXISTS 子查询 (高级查询 二)
当不使用 EXISTS 引入子查询时,选择列表中只能指定一个表达式。 - SQL 服务器