Как объединить две таблицы в запросе?

У меня две таблицы. Сначала пользователь; это состоит из имени пользователя и пользователя. Второй - поиск, который состоит из идентификатора пользователя и запроса.

Когда я выбираю таблицу поиска, я хочу, чтобы идентификатор пользователя был заменен именем пользователя, взяв данные из таблицы пользователя. Это имеет смысл?

+-------+----------+
|userid | username |
+-------+----------+
|    1  |   foo1   |
+-------+----------+
|    2  |   foo2   |
+-------+----------+
|    3  |   foo3   |
+-------+----------+
|    4  |   foo4   |
+-------+----------+

+-------+----------+
|userid |   query  |
+-------+----------+
|    1  |   blah1  |
+-------+----------+
|    2  |   blah2  |
+-------+----------+
|    3  |   blah2  |
+-------+----------+
|    4  |   blah2  |
+-------+----------+

Есть ли способ сделать это с помощью одного запроса?

Ответы

Ответ 1

Вы ищете внутреннее соединение . Это сделало бы это:

SELECT s.query, u.username
FROM search s
INNER JOIN users u
ON s.userid = u.userid

Ответ 2

SELECT username, query FROM Users, Queries WHERE Users.userid=Queries.userid;

Ответ 3

SELECT u.`username`, s.`query` 
    FROM `search` s
        INNER JOIN `users` u ON s.`userid` = u.`userid`