📜  sql case 存在于另一个表中 - SQL (1)

📅  最后修改于: 2023-12-03 15:05:17.023000             🧑  作者: Mango

SQL case 存在于另一个表中

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语句在一个表中根据另一个表中的条件进行选择,同时使用子查询进行排序。如果需要在实际工作中使用类似的查询语句,可以根据具体的情况进行调整。