#sql
#sql
Вопрос:
У меня есть одна таблица с именем «статьи», а другая, связанная с ней, называется «комментарии».
статьи ———— комментарии
Существует ли SQL-запрос для получения всех статей и связанных с ними комментариев?
articles1
------ comment1
------ comment2
------ comment3
articles2
------- comment4
------- comment5
Спасибо
Комментарии:
1. Если вы хотите, чтобы статьи также возвращались без комментариев, используйте левое внешнее соединение вместо внутреннего соединения. В противном случае.. Приведенный ниже запрос Abe должен соответствовать вашим потребностям
Ответ №1:
Похоже, объединение соответствует вашим потребностям:
SELECT * FROM Articles as a
INNER JOIN comments as c
ON a.articleId = c.ArticleId
Взгляните на эту статью. Это дает лучшее объяснение объединений, которое я видел.
Комментарии:
1. Спасибо! И как я могу выбрать также статьи без комментариев?
Ответ №2:
Вы не смогли опубликовать более подробную информацию о своих таблицах, но вот слепое предположение с моей стороны:
SELECT articles.*,
comments.comment
FROM articles
JOIN comments ON comments.article_id = articles.id
Ответ №3:
Вот запрос Stackexchange, в котором перечислены записи с комментариями. Вы заметите, что в нем используется LEFT JOIN
SELECT top 100 p.id [Post Link], p.id, c.id, c.text from posts p
LEFT JOIN comments c
on p.id = c.postid
Это потому, что не гарантируется, что у каждого сообщения будет комментарий