如何编写SQL语句关联Client、User、UserAssociation三张表查询所需字段
实现SQL语句
你可以通过UserAssociation作为中间桥接表,关联Client和User两张表即可拿到对应字段:
SELECT c.Name AS ClientName, u.UserName FROM UserAssociation ua INNER JOIN Client c ON ua.ClientId = c.ClientID INNER JOIN `User` u ON ua.UserId = u.UserId;
注意事项
User属于多数SQL方言的保留关键字,上述语句中用反引号包裹是为了避免语法报错,如果你的使用环境中User没有被识别为关键字,可以去掉反引号。
如果只需要返回存在对应关联关系的记录,用上面的INNER JOIN即可;如果你需要返回所有Client(哪怕没有绑定用户)或者所有User(哪怕没有绑定客户),可以根据需求调整为LEFT JOIN/RIGHT JOIN。
内容的提问来源于stack exchange,提问作者Rahul Jain
相关产品推荐
相关产品推荐

