Mysql 仅筛选属于第三个表中某个内容的用户
这些是我的桌子: 表“用户”Mysql 仅筛选属于第三个表中某个内容的用户,mysql,sql,Mysql,Sql,这些是我的桌子: 表“用户” 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
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
好的,我们有两个家伙:约翰来自萨克拉门托,喜欢游泳和读书。
格洛里亚来自凤凰城,只喜欢读书
我知道如何连接前两个表:
SELECT * FROM users INNER JOIN cities ON users.id = cities.user_id
但我如何才能加入“爱好”列表,只显示喜欢游泳的用户
非常感谢,
Matthias您只需在最后一个表中添加一个
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'
您只需在最后一个表中添加一个
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'
继续加入并过滤结果: e、 g
继续加入并过滤结果: e、 g
选择u.id、u.name、c.city、h.hobby 来自用户u 内连接城市c 在u.id=c.id上 内连接h 在u.id=h.id上
何处降低(h.hobby)=“游泳”选择u.id、u.name、c.city、h.hobby 来自用户u 内连接城市c 在u.id=c.id上 内连接h 在u.id=h.id上
在哪里降低(h.爱好)=“游泳”我自己也说得再好不过了!我自己也说得再好不过了!