📅  最后修改于: 2023-12-03 15:05:17.023000             🧑  作者: Mango
SQL语言中,CASE语句可以用于根据条件进行值或操作选择。有时候,我们需要在一个表中查询数据,并根据其他表中的条件进行选择。这时,需要使用SQL的子查询来实现。
下面是一个示例,演示如何使用CASE语句在某个表中选择数据,并根据另一个表中的条件进行排序:
SELECT Name, Age,
CASE
WHEN Age < 18 THEN 'Underage'
WHEN Age BETWEEN 18 AND 65 THEN 'Adult'
ELSE 'Senior'
END AS Age_Group
FROM People
ORDER BY (
SELECT Count(*)
FROM Registrations
WHERE Registrations.PersonID = People.ID
) DESC;
这个查询语句返回了People表中每个人的姓名、年龄和年龄组别,以及根据他们在Registrations表中出现的次数进行排序。其中,CASE语句用于根据年龄确定每个人的年龄组别,而子查询用于计算每个人在Registrations表中出现的次数,并根据这个次数进行排序。
上面这个示例展示了如何使用SQL的CASE语句在一个表中根据另一个表中的条件进行选择,同时使用子查询进行排序。如果需要在实际工作中使用类似的查询语句,可以根据具体的情况进行调整。