case when not in
时间: 2023-12-08 10:39:09 浏览: 148
sql case when exists not exists in not in
在SQL中,CASE WHEN语句用于根据条件执行不同的操作。NOT IN运算符用于在WHERE子句中筛选不匹配指定值列表中任何一个值的行。下面是一个使用CASE WHEN和NOT IN的示例:
假设我们有一个名为tb_tree的表,其中包含id和p_id两列。如果p_id为空,则该行为根节点;如果id不在p_id列中,则该行为叶子节点;否则,该行为内部节点。我们可以使用以下查询来实现:
```sql
SELECT t.id,
CASE
WHEN ISNULL(t.p_id) THEN '根节点'
WHEN t.id NOT IN (SELECT a.p_id
FROM tb_tree a
WHERE p_id IS NOT NULL) THEN '叶子节点'
ELSE '内部节点'
END
FROM tb_tree t;
```
另外,如果我们想要查找姓“张”的人,可以使用LIKE运算符。如果我们只想查找以“张”开头的人,可以使用“张%”;如果我们想查找包含“张”的人,可以使用“%张%”。以下是一个使用LIKE运算符的示例:
```sql
SELECT *
FROM c_cons
WHERE cons_name LIKE '张%';
```
阅读全文