我有两个mysql表。
CLIENTS TABLE
DOMAINS TABLE
我需要返回所有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
-
这是对的吗?
谢谢。
答案 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
);