首先声明一下,
exist
和case
没有必然联系,这里只是为了一起整理个笔记。
EXIST
谓词
如果存在对应的记录,返回
TRUE
。否则,返回FALSE
。*实际使用中,即使不适用exist
,基本也可以使用in
或者not in
来代替。
示例:
select shohin_mei ,hanbai_tanka from Shohin as S
where exists
( select * from TenpoShohin as TS
where TS.tenpo_id = '000C' and TS.shohin_id = S.shohin_id);
通过这个例子发现:exist
通常会使用关联子查询作为参数。
当然,用in
代替:(更容易理解)
select shohin_mei,hanbai_tanka from Shohin
where shohin_id in
(