sql语言case when举个例子
时间: 2024-06-21 08:01:09 浏览: 6
SQL语言中的CASE WHEN语句是一种条件表达式,用于根据指定的条件返回不同的值或执行不同的操作。它在处理数据时非常有用,特别是在进行条件筛选、转换或计算时。
下面是一个简单的例子:
```sql
SELECT
column_name,
CASE
WHEN condition THEN 'Value_if_True'
ELSE 'Value_if_False'
END AS result_column
FROM table_name;
```
在这个例子中,`column_name`是你想检查的表列,`condition`是判断的条件,如果`condition`为真(非零、非空或满足特定逻辑),则返回`'Value_if_True'`;否则,返回`'Value_if_False'`。`result_column`是你新创建的结果列,显示根据条件应用的不同结果。
例如,如果你想将年龄分为“成人”和“儿童”,你可以这样做:
```sql
SELECT
age,
CASE
WHEN age >= 18 THEN 'Adult'
ELSE 'Child'
END AS age_group
FROM users;
```
相关问题
sql case when使用例子
好的,以下是一个 SQL CASE WHEN 的使用例子:
```
SELECT
product_name,
order_date,
CASE
WHEN order_amount >= 1000 THEN 'High'
WHEN order_amount >= 500 THEN 'Medium'
ELSE 'Low'
END AS order_level
FROM orders;
```
在上面的例子中,我们使用了 SQL 的 CASE WHEN 语句来为订单添加一个“级别”列。根据订单金额的大小,我们将其分为“高”、“中”、“低”三个级别。如果订单金额大于或等于1000,则级别为“高”,如果大于或等于500,则级别为“中”,否则为“低”。
注意!以上解释完全由人类英语在Ai的翻译,如果有值得怀疑的地方建议对照原文,谢谢!
举个join on case when 的例子
假设我们有两个表A和B,它们的结构如下:
表A:
| id | name |
|----|------|
| 1 | Tom |
| 2 | Jack |
| 3 | Lucy |
表B:
| id | type |
|----|------|
| 1 | 1 |
| 2 | 2 |
| 3 | 1 |
现在,我们想要根据表B中的type字段来连接表A,但是type字段的值并不能直接用来连接,我们需要对其进行一些处理。这时,可以使用join on case when语句。具体的SQL语句如下:
```
SELECT A.id, A.name, B.type
FROM A
JOIN B ON CASE WHEN B.type = 1 THEN A.id = B.id ELSE A.id = B.id + 1 END;
```
这条SQL语句的意思是:如果表B中的type字段值为1,则将表A中的id字段与表B中的id字段进行连接;如果表B中的type字段值为2,则将表A中的id字段与表B中的id字段+1进行连接。最终查询结果如下:
| id | name | type |
|----|------|------|
| 1 | Tom | 1 |
| 2 | Jack | 2 |
| 3 | Lucy | 1 |