sql的if else语句例子
时间: 2023-10-25 08:09:35 浏览: 49
以下是一个简单的SQL IF ELSE语句的例子,假设我们有一个名为“Students”的表,其中包含“ID”、“Name”和“Age”列。
如果学生的年龄大于等于18岁,则将其分类为成年人,否则将其分类为未成年人。
IF语句:
```
IF (SELECT Age FROM Students WHERE ID = 1) >= 18
BEGIN
SELECT 'This student is an adult'
END
```
ELSE语句:
```
IF (SELECT Age FROM Students WHERE ID = 1) >= 18
BEGIN
SELECT 'This student is an adult'
END
ELSE
BEGIN
SELECT 'This student is a minor'
END
```
CASE语句(也可以达到同样的效果):
```
SELECT
CASE
WHEN Age >= 18 THEN 'This student is an adult'
ELSE 'This student is a minor'
END AS AgeCategory
FROM Students
WHERE ID = 1
```
相关问题
mybatisif ifelse语句
MyBatis中的if语句和Java中的if语句类似,用于在SQL语句中添加条件判断。if语句可以嵌套使用,可以使用and和or等逻辑运算符连接多个条件。if语句的语法如下:
```
<select id="selectUsers" parameterType="User" resultType="User">
SELECT * FROM users
WHERE 1=1
<if test="id != null">
AND id = #{id}
</if>
<if test="username != null and username != ''">
AND username = #{username}
</if>
<if test="password != null and password != ''">
AND password = #{password}
</if>
</select>
```
上面的例子中,if语句用于判断查询条件是否为空,如果不为空则添加到SQL语句中。其中test属性用于指定条件表达式,如果表达式的值为true,则执行if语句中的SQL语句。
MyBatis中还提供了if-else语句,用于在条件不满足时执行其他的SQL语句。if-else语句的语法如下:
```
<select id="selectUsers" parameterType="User" resultType="User">
SELECT * FROM users
WHERE 1=1
<if test="id != null">
AND id = #{id}
</if>
<if test="username != null and username != ''">
AND username = #{username}
</if>
<if test="password != null and password != ''">
AND password = #{password}
</if>
<otherwise>
AND status = 1
</otherwise>
</select>
```
上面的例子中,如果id、username和password都为空,则执行otherwise中的SQL语句。
sqI IF ELSE语句
SQL中没有IF ELSE语句,但可以使用CASE语句来实现类似的功能。CASE语句根据条件对结果进行分支处理,语法如下:
```
SELECT column1, column2, ...,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
FROM table_name;
```
其中,column1, column2, ...是要查询的列名,condition1, condition2, ...是条件,result1, result2, ...是对应条件的结果,ELSE是默认结果。下面是一个例子:
```
SELECT Store_Name, Sales,
CASE
WHEN Sales > 1000 THEN 'High'
WHEN Sales > 500 THEN 'Medium'
ELSE 'Low'
END AS 'Sales Level'
FROM Store_Info;
```
这个例子中,根据Sales的值,将结果分为三个等级:High、Medium和Low,并将结果命名为'Sales Level'。注意,AS是用来给结果命名的关键字。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)