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

标签 sql database

是否可以在 SQL 中使用 if/else?如果我有一个名为 supplier 的表,其中包含以下列:sid -> 主键、snamecity

那么我想:

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

最佳答案

是的,你可以。我不知道其他 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 中来自这个 link ,事实证明也是可以的。看;

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

关于sql - 是否可以在 SQL 中使用 IF/Else?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12051863/

相关文章:

mysql - 如何获取我们在 mysqldb 中使用的所有查询

sql - 将两个 SQL 查询的结果组合到一个表中但不使用联合

java - 运行 JUnit 测试后所做的数据库更改不可见

java - 如何使用 JPA 和 Hibernate 映射集合的最新子项

php - 我如何在 php 中使用 fetchAll?

C# Linq to SQL 连接字符串(新手)

MySQL 使用 IN 子句和子查询进行更新

java - 在没有 int 的情况下对数组进行双重索引

mysql - 如何使用 WHERE 子句获取整列数据并将其放入另一列中?

mysql - 多列子查询不适用于笛卡尔积