У меня есть две таблицы.
Таблица A содержит UserID, UserName
Таблица B содержит ID, FK_UserID, ClientName
Мне нужно вернуть список отдельных A.UserName, где A.Username существует в таблице B и к ним прикреплено хотя бы одно ClientName, но в моем запросе посмотрите только на отдельный B.ClientName.
Мои мысли были:
Select Distinct A.UserName from A as A
Inner Join B as B
on A.UserID = B.FK_UserID
Но это различается только в таблице A
Следующей моей мыслью было:
Select Distinct Username from A
where UserID In
(
Select FK_UserID, distinct ClientName from B)
Мне сказали, что есть способ сделать разные таблицы в объединении, потому что, если таблица A состоит из 300 строк, а таблица B — из 3 миллиардов строк, мой первоначальный запрос займет некоторое время.
Этот человек специально хочет, чтобы я использовал внутреннее соединение...