Шаг 078. Создаем таблицу internal_link_targets

sqlГлава 6. Создаем новые таблицы из имеющихся

Что делаем

Создаем таблицу internal_link_targets

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

Эта витрина показывает страницы, которым нужен прирост внутренних ссылок.

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

DROP TABLE IF EXISTS internal_link_targets;

CREATE TABLE internal_link_targets AS
SELECT s.page_id,
       s.url,
       s.impressions,
       s.avg_position,
       cp.internal_links_in,
       'Добавить внутренние ссылки' AS recommended_action
FROM page_gsc_summary AS s
JOIN crawl_pages AS cp ON cp.page_id = s.page_id
WHERE s.impressions >= 300
  AND s.avg_position BETWEEN 4 AND 20
  AND cp.internal_links_in < 10
ORDER BY s.impressions DESC;

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

Строка 1: DROP TABLE IF EXISTS internal_link_targets; — Удаляет старую учебную таблицу с таким именем, если она уже была создана раньше.
Строка 2: пустая строка — Пустая строка отделяет один смысловой блок кода от другого, чтобы код легче читался.
Строка 3: CREATE TABLE internal_link_targets AS — Создает новую таблицу из результата SELECT-запроса.
Строка 4: SELECT s.page_id, — Начинает запрос и перечисляет колонки или выражения, которые нужно вывести.
Строка 5: s.url, — Продолжает текущую SQL-команду: задает колонку, выражение, условие или значение.
Строка 6: s.impressions, — Продолжает текущую SQL-команду: задает колонку, выражение, условие или значение.
Строка 7: s.avg_position, — Продолжает текущую SQL-команду: задает колонку, выражение, условие или значение.
Строка 8: cp.internal_links_in, — Продолжает текущую SQL-команду: задает колонку, выражение, условие или значение.
Строка 9: 'Добавить внутренние ссылки' AS recommended_action — Это текстовое значение в INSERT или рассчитанная подпись для отчета.
Строка 10: FROM page_gsc_summary AS s — Указывает основную таблицу или источник данных для запроса.
Строка 11: JOIN crawl_pages AS cp ON cp.page_id = s.page_id — Соединяет текущие данные с другой таблицей по условию ON.
Строка 12: WHERE s.impressions >= 300 — Начинает фильтр: дальше перечисляются условия, какие строки оставить.
Строка 13: AND s.avg_position BETWEEN 4 AND 20 — Добавляет еще одно обязательное условие к фильтру.
Строка 14: AND cp.internal_links_in < 10 — Добавляет еще одно обязательное условие к фильтру.
Строка 15: ORDER BY s.impressions DESC; — Сортирует результат, чтобы важные строки оказались выше или ниже.

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

Появится таблица internal_link_targets.

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

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