0

这些是我的桌子:

表“用户”

ID      NAME     AGE 
01      John     22
02      Gloria   27

表“城市”

ID    USER_ID    CITY
22    01         Sacramento
23    02         Phoenix

表“爱好”

ID     USER_ID   HOBBY
88     01        swimming
89     01        reading
90     02        reading

好的,所以我们有两个人:约翰来自萨克拉门托,喜欢游泳和阅读。Gloria 来自凤凰城,只喜欢阅读。

我知道如何加入前两个表:

SELECT * FROM users INNER JOIN cities ON users.id = cities.user_id

但是我怎样才能加入“爱好”表并且只显示喜欢游泳的用户呢?

非常感谢,马蒂亚斯

4

3 回答 3

4

您只需将 a 添加JOIN到最后一个表并添加一个WHERE子句

SELECT * 
FROM users  
INNER JOIN cities  
    ON users.id = cities.user_id
INNER JOIN hobbies
    ON users.id = hobbies.USER_ID
WHERE Hobbies.Hobby = 'swimming'
于 2012-06-25T15:25:10.753 回答
1

继续加入并过滤结果:

例如

SELECT * FROM users 
INNER JOIN cities ON users.id = cities.user_id 
INNER JOIN hobbies ON users.id = hobbies.user_id
WHERE hobbies.hobby = 'swimming'              
于 2012-06-25T15:25:14.227 回答
0

select u.id, u.name, c.city, h.hobby from users u inner join cities c on u.id=c.id inner join hobbies h on u.id = h.id where to_lower (h.hobby) ='游泳'

于 2012-06-25T15:30:58.183 回答