Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用两个表的sql查询_Sql_Join - Fatal编程技术网

使用两个表的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;