查询1到多个表,其中多方具有至少一行

时间:2016-02-06 01:19:57

标签: mysql sql

有一个共同的架构,有两个表。

users表包含idname列。 checkins表包含user_idcheckin_date列。

在此假设中,users可以在checkins表中包含许多行实例。

在这种情况下,

checkin_date的类型为date

我希望能够查询签到表中至少有1次签到的所有用户,签入表是在2016年之后签到的。

1 个答案:

答案 0 :(得分:1)

我建议使用exists

select u.*
from users u
where exists (select 1
              from checks c
              where c.user_id = u.id and c.checkin_date >= '2016-01-01'
             );