一个sql语句优于两个?

时间:2014-08-06 21:57:24

标签: php mysql sql

所以我有以下两个sql语句,我想组合成一个。

SELECT `client_id` FROM `accommodation` WHERE `checkin` >= from AND `checkout` <= to
SELECT `client_id` FROM `conference` WHERE `checkin` >= from AND `checkout` <= to

所以基本上两个sql语句根据签入和签出日期从两个表中获取数据。

将两个语句组合在一起以获得满足条件的所有client_id的最佳方法是什么

1 个答案:

答案 0 :(得分:1)

据推测,通过“符合标准”,您的意思是满足两个条件。这表明join。所以试试这个:

SELECT a.`client_id`
FROM `accommodation` a join
     conference c
     on a.client_id = c.client_id
WHERE a.checkin >= from AND a.checkout <= to and
      c.checkin >= from AND c.checkout <= to;

当然,应避免使用from等保留字作为列名或变量名。如果你觉得必须使用它,一定要逃避它。