使用两个表的sql查询
表一:使用两个表的sql查询,sql,join,Sql,Join,表一: |user_id|hotel_id| | 1 | 4 | | 1 | 5 | | 2 | 6 | | 4 | 7 | 表二: |hotel_id|hotel_name|more_ifo| | 4 | bla |bla | | 5 | bla |bla | | 6 |more bla |bla | | 7 | bla
|user_id|hotel_id|
| 1 | 4 |
| 1 | 5 |
| 2 | 6 |
| 4 | 7 |
表二:
|hotel_id|hotel_name|more_ifo|
| 4 | bla |bla |
| 5 | bla |bla |
| 6 |more bla |bla |
| 7 | bla |bla |
我想获得某个用户拥有的所有酒店信息,例如用户1 hotels 4和5。。有什么帮助吗?我试过使用join,但我想我没有正确使用它
SELECT users.*, hotels.*
FROM users
INNER JOIN hotels
ON users.hotel_id = hotels.hotel_id
注意,在SELECT子句中使用*被认为是不好的做法;我在这里只是作为使用连接示例的一部分来做的
如果要搜索与特定用户关联的酒店,只需添加WHERE子句即可:
SELECT users.*, hotels.*
FROM users
INNER JOIN hotels
ON users.hotel_id = hotels.hotel_id
WHERE users.user_id = ?
注意,在SELECT子句中使用*被认为是不好的做法;我在这里只是作为使用连接示例的一部分来做的
如果要搜索与特定用户关联的酒店,只需添加WHERE子句即可:
SELECT users.*, hotels.*
FROM users
INNER JOIN hotels
ON users.hotel_id = hotels.hotel_id
WHERE users.user_id = ?
您可以使用exists子句为用户查询所有酒店:
您可以使用exists子句为用户查询所有酒店: 这不管用吗 之后,
Select B.more_ifo
From table_one A, table_two B
Where A.hotel_id = B.hotel_id
AND A.hotel_id IN (4, 5)
这不管用吗
之后,
Select B.more_ifo
From table_one A, table_two B
Where A.hotel_id = B.hotel_id
AND A.hotel_id IN (4, 5)
t1是表1和表1的别名
t2是表2
t1是表1和表1的别名
t2是表2
它不只是给我所有的旅馆吗?我在找的是一号用户的酒店,哪里不应该有房间吗?请刷新。在你发表评论之前,我更新了我的答案,加入了这样一个问题。它不会只给我所有的酒店吗?我在找的是一号用户的酒店,哪里不应该有房间吗?请刷新。在您发表评论之前,我更新了我的答案以包含此类查询。可能重复:可能重复:
select t1.user_id,t2.hotel_id,t2.hotel_name,t2.more_info
from table_one t1 INNER JOIN table_two t2
ON t1.hotel_id=t2.hotel_id
where t1.user_id=1;