如何使用 3 个表的连接编写 SQL 查询?

How to write SQL query using a join on 3 tables?

我用一些虚拟数据创建了一个假设场景。下面是 3 个基本表,我想编写一个查询来查找 property/properties Mary 已查看的内容。 在这种情况下,玛丽看过 1 属性 格拉斯哥的公寓。

Table 1: 客户端

=====================
ID  Name        
=====================
5   Tom
6   Mary
7   John

Table 2: 属性

=====================
ID  CITY        TYPE    
=====================
14  Aberdeen    House
16  Glasgow     Flat
21  Glasgow     House
94  London      Flat

Table3:正在查看

========================
Client  Property    Date    
========================
5       14      01-12-2016
5       21      08-12-2016
6       16      10-10-2016

一定要为此使用内部联接,一个简单的例子可以是

SELECT c.Name, p.Type, p.City, v.Date
FROM Viewing v 
JOIN Client c ON v.client = c.ID
JOIN Property p ON v.property = p.ID
WHERE c.Name = 'Mary'

这应该会告诉您谁在什么时候查看了什么。为了保持整洁,我在 table 名称上使用了别名。