如何使用 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 名称上使用了别名。
我用一些虚拟数据创建了一个假设场景。下面是 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 名称上使用了别名。