Шаг 070. Считаем входящие внутренние ссылки через таблицу ссылок

sqlГлава 5. JOIN: связываем таблицы

Что делаем

Считаем входящие внутренние ссылки через таблицу ссылок

Зачем SEO-специалисту

Мы проверяем не только число из краулера, но и считаем ссылки из собственной таблицы internal_links.

Код. Вставьте 1 в 1

SELECT p.url,
       COUNT(il.internal_link_id) AS incoming_links_from_table
FROM pages AS p
LEFT JOIN internal_links AS il ON il.target_page_id = p.page_id
GROUP BY p.page_id, p.url
ORDER BY incoming_links_from_table ASC, p.url;

Построчный разбор: что делает, для чего и как работает

Строка 1: SELECT p.url, — Начинает запрос и перечисляет колонки или выражения, которые нужно вывести.
Строка 2: COUNT(il.internal_link_id) AS incoming_links_from_table — Считает количество строк или уникальных значений.
Строка 3: FROM pages AS p — Указывает основную таблицу или источник данных для запроса.
Строка 4: LEFT JOIN internal_links AS il ON il.target_page_id = p.page_id — Соединяет текущие данные с другой таблицей по условию ON.
Строка 5: GROUP BY p.page_id, p.url — Группирует строки, чтобы можно было считать суммы, средние и количества.
Строка 6: ORDER BY incoming_links_from_table ASC, p.url; — Сортирует результат, чтобы важные строки оказались выше или ниже.

Что должно получиться

Вы увидите, какие страницы получают меньше внутренних ссылок.

Если появилась ошибка

Проверьте, что вы работаете в файле seo_lab_from_zero.db, скопировали блок полностью и не потеряли точку с запятой в конце SQL-команды.