我有两个表,users
和messages
。
users
包含字段userId
(int)和username
(字符串)和
messages
的字段为userId
(int)和message
。
我有用户名,并希望获取与该用户名userId
相关的所有消息。
在这种情况下联接功能是否有效(如果是,如何?),还是我必须进行两次单独的查询?
答案 0 :(得分:5)
SELECT m.*
FROM messages m
INNER JOIN users u
ON m.userId = u.userId
WHERE u.username = 'UsernameHere';
使用INNER JOIN
引用user
表格中的messages
表格(通过userId
列匹配[引用])
可以在此处找到查询示例:http://www.sqlfiddle.com/#!8/bc3ce/3/0
答案 1 :(得分:3)
SELECT U.userId, M.message
FROM users AS U INNER JOIN messages AS M ON U.userId = M.userId
WHERE U.username = 'UserName'
只需将您想要的用户名插入WHERE子句即可。