一尘不染

是否可以在SQL中使用IF / Else?

sql

是否可以在SQL中使用if / else?如果我有一个supplier带有列的表:sid->主键,sname然后city

然后,我希望:

  1. select sid from supplier where city="taipei" 如果不为空。
  2. 或者 select sid from supplier where city="tainan"

阅读 150

收藏
2021-05-30

共1个答案

一尘不染

是的你可以。我不了解其他DBMS,但是我已经在Microsot SQL Server的存储过程中使用过类似的东西;

IF EXISTS
   (SELECT [sid] FROM [supplier]  WHERE [city]= "taipei")

select sid from supplier where city="taipei"  // your true condition query
ELSE
select sid from supplier where city="tainan"

在MySQL中,从此链接来看,这也是可能的。看;

IF EXISTS(SELECT * FROM tbl_name WHERE category_code ='some-category-code') THEN UPDATE tbl_name SET active='0' WHERE category_code = 'some-category-code' END IF
2021-05-30