MySQL Join - 根据另一个表中的数据从一个表返回结果

时间:2015-12-07 11:56:53

标签: mysql

我有两个mysql表。

CLIENTS TABLE

  • ID
  • 电子邮件

DOMAINS TABLE

  • ID
  • 托管
  • 的client_id

我需要返回所有clients.email,其中domains.hosting = given_id。

-

SELECT 
  clients.email 
FROM 
  clients
INNER JOIN
  domains
  ON domains.client_id = clients.id
    AND domains.hosting_id = given_id

-

这是对的吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

假设given_id不是某个表中的列,那么您的查询就可以了。但是,从查询中不清楚是否没有返回重复项。如果您同时寻找多个“给定ID”,这将是一个特殊问题。

编写查询的另一种方法是使用exists

SELECT c.email 
FROM clients c
WHERE EXISTS (SELECT 1
              FROM domains d
              WHERE d.client_id = c.id AND
                    d.hosting_id = given_id
             );