如何在sql中将一个表与另外两个表连接?

时间:2017-06-30 08:57:48

标签: sql

假设我有3个表,并且想要连接三个表作为结果,而没有重复值和NOT NULL。

Table-1: EMP
Id   Name  Client_Id
1    abc    c1
2    xyz    c2
3    pqr    c3

表-2:EMP_Account:

Id    salary
1     10,000
2     20,000
3     30,000

表-3:Client_Details;

Client_Id   Client_Name
c1              client_1
c2              client_2
c3              client_3

最终结果:

Id  Name    Salary  Client_Name
1   abc     10,000     client_1
2   xyz     20,000     client_2
3   pqr     30,000     client_3

我尝试加入左连接,但没有成功。 那么,任何人都可以帮助我或建议我们如何做到这一点吗?

3 个答案:

答案 0 :(得分:1)

SELECT e.id, e.name, ea.salary, cd.client_name
FROM emp e
JOIN emp_account ea ON e.id = ea.id
JOIN client_details cd ON cd.client_id = e.client_id

答案 1 :(得分:1)

您可以多次加入,但每个都必须在其自己的部分

select t1.id, t1.name, t2.salary, t3.client_name
from EMP t1
inner join EMP_Account t2
  on t1.id = t2.id
inner join Client_Details t3
  on t1.client_id = t3.client_id

别名帮助

如果您想在没有客户信息的情况下返回结果,请将inner替换为left

答案 2 :(得分:0)

SELECT E.ID, E.NAME, EA.SALARY, CD.CLIENT_NAME FROM EMP E
JOIN EMP_ACCOUNT EA ON EA.ID = E.ID
JOIN CLIENT_DETAILS CD ON CD.CLIENT_ID = E.CLIENT_ID