Mysql 如何在3个表上使用联接编写SQL查询?
我用一些虚拟数据创建了一个假设场景。下面是3个基本表,我想写一个查询来查找Mary查看了哪些属性。 在这种情况下,Mary在格拉斯哥的一套公寓中查看了1处房产 表1:客户Mysql 如何在3个表上使用联接编写SQL查询?,mysql,sql,inner-join,jointable,Mysql,Sql,Inner Join,Jointable,我用一些虚拟数据创建了一个假设场景。下面是3个基本表,我想写一个查询来查找Mary查看了哪些属性。 在这种情况下,Mary在格拉斯哥的一套公寓中查看了1处房产 表1:客户 ===================== ID Name ===================== 5 Tom 6 Mary 7 John 表2:财产 ===================== ID CITY TYPE ===================== 1
=====================
ID Name
=====================
5 Tom
6 Mary
7 John
表2:财产
=====================
ID CITY TYPE
=====================
14 Aberdeen House
16 Glasgow Flat
21 Glasgow House
94 London Flat
表3:查看
========================
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'
这应该告诉你谁在什么时候看什么。我在表名上使用别名只是为了保持整洁。肯定要使用内部联接,一个简单的例子是
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'
这应该告诉你谁在什么时候看什么。我在表名上使用别名只是为了保持整洁。
内部连接将是我的第一个想法,特别是对于学习SQL的人来说。你想展示什么?SEarle1986我只是想看看我将如何了解Mary查看的属性抱歉,错过了这一点!这个问题现在有了答案,但我同意他们的观点,即连接(或内部连接)是通往Hanks SEarle1986的途径。我看到了他们,我现在只是看看这两个答案,并试图找出它们,因为一个使用连接,另一个使用内部连接内部连接将是我的第一个想法,特别是对于学习SQL的人来说。你想展示什么?SEarle1986我只是想看看如何才能看到Mary所看到的属性抱歉,错过了这一点!这个问题现在有了答案,但我同意他们的观点,连接(或内部连接)是通往Hanks SEarle1986的途径。我看到了,我现在只是看看这两个答案,并试图找出它们,因为一个使用连接,另一个使用内部连接