SQL для Вікіпроектів/Список сторінок: відмінності між версіями

м
<source> -> <syntaxhighlight> (phab:T237267)
м (→‎Всі колонки із таблиці: милозвучність)
м (<source> -> <syntaxhighlight> (phab:T237267))
Виведемо всі колонки із таблиці сторінок page ([https://quarry.wmflabs.org/query/14106 Запит у Quarry])
 
<sourcesyntaxhighlight lang="sql>
SELECT * FROM ukwikibooks_p.page
</sourcesyntaxhighlight>
 
Запит повертає всі рядки та всі колонки із таблиці сторінок page.
Виведемо із таблиці page лише колонки, які нас цікавлять: page_namespace і page_title ([https://quarry.wmflabs.org/query/14110 Запит у Quarry])
 
<sourcesyntaxhighlight lang="sql>
SELECT
page_namespace, page_title
FROM
ukwikibooks_p.page
</syntaxhighlight>
</source>
 
Несподівано ми отримали зовсім інші перші рядки:
Ми можемо вказати сортування явно, додавши до запиту <code lang="sql">ORDER BY page_namespace, page_title</code>, і отримати такий самий результат ([https://quarry.wmflabs.org/query/14111 Запит у Quarry])
 
<sourcesyntaxhighlight lang="sql>
SELECT
page_namespace, page_title
ORDER BY
page_namespace, page_title
</syntaxhighlight>
</source>
 
Тепер отримаємо такий же порядок сортування, як був у нас спочатку, коли ми отримували всі колонки. Для цього додамо сортування за колонкою page_id: <tt>ORDER BY page_id<></tt>
([https://quarry.wmflabs.org/query/14110 Запит у Quarry])
 
<sourcesyntaxhighlight lang="sql>
SELECT
page_id, page_namespace, page_title
ORDER BY
page_id
</sourcesyntaxhighlight>
 
Тепер результат відсортовано за page_id і перші рядки виглядають так:
Додамо умову, що вибираємо лише сторінки із основного простору (простору статей)
<tt><pre> WHERE page_namespace = 0 </pre></tt> і виведемо вікірозмітку посилання на статті ([https://quarry.wmflabs.org/query/14113 код у Quarry])
<sourcesyntaxhighlight lang="sql>
SELECT
CONCAT('[[', page_title, ']]') AS page_link
WHERE
page_namespace = 0
</sourcesyntaxhighlight>
 
Результат:
Аналогічно ми можемо вивести список сторінок, що містить повне посилання на сторінку, яке включає і префікс простору назв ([https://quarry.wmflabs.org/query/14112 код у Quarry])
 
<sourcesyntaxhighlight lang="sql>
SELECT
page_id,
ORDER BY
page_id
</sourcesyntaxhighlight>
 
Результат:
194

редагування