Результат MediaWiki API

Это HTML-представление формата JSON. HTML хорош для отладки, но неудобен для практического применения.

Укажите параметр format для изменения формата вывода. Для отображения не-HTML-представления формата JSON, присвойте format=json.

См. полную документацию или справку API для получения дополнительной информации.

{
    "batchcomplete": "",
    "continue": {
        "gapcontinue": "Windows_-_\u041a\u0438\u0440\u0438\u043b\u043b\u0438\u0446\u0430_\u0432_\u0438\u043c\u0435\u043d\u0430\u0445_\u0444\u0430\u0439\u043b\u043e\u0432_\u0432\u043d\u0443\u0442\u0440\u0438_\u0430\u0440\u0445\u0438\u0432\u0430_ZIP",
        "continue": "gapcontinue||"
    },
    "warnings": {
        "main": {
            "*": "Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/postorius/lists/mediawiki-api-announce.lists.wikimedia.org/> for notice of API deprecations and breaking changes."
        },
        "revisions": {
            "*": "Because \"rvslots\" was not specified, a legacy format has been used for the output. This format is deprecated, and in the future the new format will always be used."
        }
    },
    "query": {
        "pages": {
            "911": {
                "pageid": 911,
                "ns": 0,
                "title": "SQL-\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043a \u044d\u043a\u0437\u0430\u043c\u0435\u043d\u0443 \u043f\u043e \u0421\u041f\u0410\u0421\u041e\u0418 (10 \u0441\u0435\u043c\u0435\u0441\u0442\u0440)",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "<div style=\"float:right; clear:both; margin-right:1.0em;\">__TOC__</div>\n\n\u0411\u0438\u043b\u0435\u0442 \u044d\u043a\u0437\u0430\u043c\u0435\u043d\u0430 \u043f\u043e [[:\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f:\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0410\u0421\u041e\u0418 (10 \u0441\u0435\u043c\u0435\u0441\u0442\u0440) | \u0421\u041f\u0410\u0421\u041e\u0418]] \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0434\u0432\u0443\u0445 \u0447\u0430\u0441\u0442\u0435\u0439:\n# \u0442\u0435\u043e\u0440\u0438\u044f;\n# SQL-\u0437\u0430\u043f\u0440\u043e\u0441.\n\n\u041d\u0430 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0441\u043e\u0431\u0440\u0430\u043d\u044b \u0432\u0441\u0435 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043f\u043e \u0431\u0438\u043b\u0435\u0442\u0430\u043c.\n\n\u0421\u0442\u0440\u0430\u043d\u043d\u043e, \u0447\u0442\u043e \u043d\u0438 \u0432 \u043e\u0434\u043d\u043e\u043c \u0431\u0438\u043b\u0435\u0442\u0435 \u043d\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432. <s>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u043d\u0438\u044f\u0445.</s> \u0413\u0440\u0438\u0433\u043e\u0440\u044c\u0435\u0432 \u0441\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u044d\u0442\u043e \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u0438 \u043f\u043e\u0442\u043e\u043c\u0443 \u043e\u043d \u043d\u0435 \u0441\u0442\u0430\u043b \u0437\u0430\u0433\u0440\u043e\u043c\u043e\u0436\u0434\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u043c\u0435\u043b\u043e\u0447\u0430\u043c\u0438.\n\n== \u0421\u0445\u0435\u043c\u0430 \u0411\u0414 ==\n\n\u0421\u0445\u0435\u043c\u0430 \u0411\u0414 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u0441\u0451 [[\u0421\u041f\u0410\u0421\u041e\u0418_(10)_-_\u041b\u0435\u043a\u0446\u0438\u044f_\u21168_-_SQL#\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u044f\u0437\u044b\u043a\u0430 SQL | \u0442\u0430 \u0436\u0435]], \u0447\u0442\u043e \u0431\u044b\u043b\u0430 \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u0441\u0435\u043c\u0435\u0441\u0442\u0440\u0435 \u0438 \u043d\u0430 \u043b\u0435\u043a\u0446\u0438\u044f\u0445.\n\n\u0414\u043b\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0438\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0411\u0414 \u0432 \u0421\u0423\u0411\u0414 [http://www.postgresql.org/ PostgreSQL].\n\n\u0421\u043a\u0440\u0438\u043f\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c [http://yadi.sk/d/ArwqOGAy5pPfi \u043e\u0442\u0441\u044e\u0434\u0430].\n\n=== \u0422\u0430\u0431\u043b\u0438\u0446\u044b \u0411\u0414 ===\n\n==== \u041f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0438 ====\n\n<syntaxhighlight lang=\"sql\">\nSELECT * FROM spasoi_ekz.s;\n</syntaxhighlight>\n\n  nomer_postavshika |       imya       | sostoyanie |   gorod\n -------------------+------------------+------------+------------\n  S5                | \u041c\u0435\u043b\u0438\u0441\u0430\u043d\u0434\u0440\u0430       |      65000 | \u041c\u0430\u0434\u0440\u0438\u0434\n  S2                | \u0411\u0440\u0430\u043d \u0421\u0442\u0430\u0440\u043a       |      60000 | \u041c\u0443\u0440\u043c\u0430\u043d\u0441\u043a\n  S1                | \u042f\u043a\u0435\u043d \u0425\u0433\u0430\u0440        |    1500000 | \u0419\u043e\u043a\u043e\u0433\u0430\u043c\u0430\n  S7                | \u0421\u0438\u0440\u0438\u043e \u0424\u043e\u0440\u0435\u043b\u044c     |    1500000 | \u0419\u043e\u043a\u043e\u0433\u0430\u043c\u0430\n  S4                | \u0414\u0436\u0435\u0439\u043c\u0435 \u041b\u0430\u043d\u043d\u0438\u0441\u0442\u0435\u0440 |     750000 | \u041b\u043e\u043d\u0434\u043e\u043d\n  S3                | \u0421\u0435\u0440\u0441\u0435\u044f \u041b\u0430\u043d\u043d\u0438\u0441\u0442\u0435\u0440 |    1200000 | \u041b\u043e\u043d\u0434\u043e\u043d\n  S8                | \u0422\u0438\u0440\u0438\u043e\u043d \u041b\u0430\u043d\u043d\u0438\u0441\u0442\u0435\u0440 |       2571 | \u041c\u0430\u043d\u0447\u0435\u0441\u0442\u0435\u0440\n  S9                | \u0418\u0432\u0430\u043d\u043e\u0432           |      35000 | \u041c\u044b\u0442\u0438\u0449\u0438\n  S10               | \u0420\u0443\u0441\u0435 \u0411\u043e\u043b\u0442\u043e\u043d      |      44444 | \u0411\u0430\u0440\u0435\u043d\u0446\u0431\u0443\u0440\u0433\n  S11               | \u041f\u0435\u0442\u0440\u043e\u0432 \u0418\u0432\u0430\u043d      |      35000 | \u041c\u044b\u0442\u0438\u0449\u0438\n  S14               | \u0420\u0435\u043d\u0434\u0438\u043b\u043b \u0422\u0430\u0440\u043b\u0438    |    1111111 | \u041f\u0440\u0430\u0433\u0430\n  S13               | \u0421\u044d\u043c\u0432\u0435\u043b\u043b \u0422\u0430\u0440\u043b\u0438    |     999999 | \u041f\u0440\u0430\u0433\u0430\n  S6                | \u041e\u0448\u0430              |            | \u041c\u043e\u0441\u043a\u0432\u0430\n  S16               | \u0425\u043e\u0434\u043e\u0440            |            | \u041c\u043e\u0441\u043a\u0432\u0430\n  S15               | \u041c\u0435\u043b\u0438\u0441\u0441\u0430 \u0424\u043b\u043e\u0440\u0435\u043d\u0442  |     888888 | \u0421\u0442\u043e\u043a\u0433\u043e\u043b\u044c\u043c\n  S12               | \u041f\u0435\u0442\u0440\u043e\u0432 \u041f\u0451\u0442\u0440      |      35001 | \u041c\u044b\u0442\u0438\u0449\u0438\n  S17               | \u0422\u043e\u043c\u043c\u0438 \u0412\u0435\u0440\u0441\u0435\u0442\u0442\u0438   |  123456789 | \u041c\u0430\u0439\u0430\u043c\u0438\n  S18               | \u0411\u0435\u0437\u043b\u0438\u043a\u0438\u0439         |          1 | \u0419\u043e\u043a\u043e\u0433\u0430\u043c\u0430\n (18 rows)\n\n==== \u0414\u0435\u0442\u0430\u043b\u0438 ====\n\n<syntaxhighlight lang=\"sql\">\nSELECT * FROM spasoi_ekz.p;\n</syntaxhighlight>\n\n  nomer_detali |       nazvanie       |     cvet      | ves  |      gorod\n --------------+----------------------+---------------+------+-----------------\n  P9           | \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043a\u0430            | \u0441\u0438\u043d\u0438\u0439         |  400 | \u041d\u0438\u0436\u043d\u0438\u0439 \u041d\u043e\u0432\u0433\u043e\u0440\u043e\u0434\n  P10          | \u0441\u0442\u043e\u0439\u043a\u0430               | \u0441\u0438\u043d\u0438\u0439         | 2000 | \u041d\u0438\u0436\u043d\u0438\u0439 \u041d\u043e\u0432\u0433\u043e\u0440\u043e\u0434\n  P11          | \u0430\u0431\u0430\u0436\u0443\u0440               | \u0441\u0438\u043d\u0438\u0439         |  400 | \u041d\u0438\u0436\u043d\u0438\u0439 \u041d\u043e\u0432\u0433\u043e\u0440\u043e\u0434\n  P1           | \u0433\u0430\u0439\u043a\u0430                | \u0447\u0451\u0440\u043d\u044b\u0439        |   20 | \u041b\u043e\u043d\u0434\u043e\u043d\n  P3           | \u043e\u0441\u044c                  | \u0431\u0435\u043b\u044b\u0439         | 5000 | \u042d\u0434\u0438\u043d\u0431\u0443\u0440\u0433\n  P4           | \u0437\u0443\u0431\u0447\u0430\u0442\u043e\u0435 \u043a\u043e\u043b\u0435\u0441\u043e      | \u0447\u0451\u0440\u043d\u044b\u0439        |   50 | \u042d\u0434\u0438\u043d\u0431\u0443\u0440\u0433\n  P6           | \u0442\u0440\u0430\u043d\u0437\u0438\u0441\u0442\u043e\u0440           | \u043a\u043e\u0440\u0438\u0447\u043d\u0435\u0432\u044b\u0439    |    2 | \u0422\u043e\u043a\u0438\u043e\n  P7           | \u043f\u0435\u0447\u0430\u0442\u043d\u0430\u044f \u043f\u043b\u0430\u0442\u0430       | \u0437\u0435\u043b\u0451\u043d\u044b\u0439       |  200 | \u0422\u043e\u043a\u0438\u043e\n  P8           | \u0434\u0438\u043e\u0434                 | \u043a\u043e\u0440\u0438\u0447\u043d\u0435\u0432\u044b\u0439    |    1 | \u0422\u043e\u043a\u0438\u043e\n  P12          | \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u0430\u044f \u0434\u0435\u0442\u0430\u043b\u044c | \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 |    1 | \u041f\u0430\u0440\u0438\u0436\n  P13          | \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u0434\u0435\u0442\u0430\u043b\u044c    | \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439    |    1 | \u0411\u043e\u0441\u0442\u043e\u043d\n  P14          | \u0431\u043e\u043b\u0442                 | \u0441\u0435\u0440\u044b\u0439         |   20 | \u0418\u0436\u0435\u0432\u0441\u043a\n  P15          | \u0440\u0430\u043c\u0430                 | \u043a\u0440\u0430\u0441\u043d\u044b\u0439       | 3000 | \u041c\u0430\u043d\u0447\u0435\u0441\u0442\u0435\u0440\n  P16          | \u043a\u043e\u043b\u0435\u0441\u043e               | \u0431\u0435\u043b\u044b\u0439         | 1500 | \u041c\u0430\u043d\u0447\u0435\u0441\u0442\u0435\u0440\n  P5           | \u0432\u0442\u0443\u043b\u043a\u0430               | \u0441\u0435\u0440\u044b\u0439         |  350 | \u041c\u0430\u043d\u0447\u0435\u0441\u0442\u0435\u0440\n  P17          | \u0431\u0443\u043c\u0430\u0433\u0430               | \u0431\u0435\u043b\u044b\u0439         |    1 | \u0410\u0441\u0442\u0440\u0430\u0445\u0430\u043d\u044c\n  P18          | \u043f\u043b\u0438\u0442\u043a\u0430               | \u0431\u0435\u043b\u044b\u0439         |  300 | \u0424\u043b\u043e\u0440\u0435\u043d\u0446\u0438\u044f\n  P19          | \u043e\u0440\u043d\u0430\u043c\u0435\u043d\u0442             | \u0441\u0435\u0440\u044b\u0439         |  800 | \u0424\u043b\u043e\u0440\u0435\u043d\u0446\u0438\u044f\n  P20          | \u0443\u0433\u043e\u043b\u043e\u043a               | \u0441\u0435\u0440\u044b\u0439         |  100 | \u0424\u043b\u043e\u0440\u0435\u043d\u0446\u0438\u044f\n  P21          | \u0433\u0430\u0439\u043a\u0430 01-01          | \u0441\u0435\u0440\u0435\u0431\u0440\u0438\u0441\u0442\u044b\u0439   |   20 | \u041a\u043b\u0438\u043d\n  P22          | \u0443\u0441\u0438\u043b\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u043c\u0430       | \u043a\u0440\u0430\u0441\u043d\u044b\u0439       | 3200 | \u0427\u0435\u0440\u0435\u043f\u043e\u0432\u0435\u0446\n  P23          | \u0432\u0438\u043d\u0442                 | \u0440\u043e\u0437\u043e\u0432\u044b\u0439       |    5 | \u0418\u0436\u0435\u0432\u0441\u043a\n  P24          | \u0442\u0440\u0443\u0441\u0435\u043b\u044f              | \u043a\u0440\u0430\u0441\u043d\u044b\u0439       |   20 | \u0427\u0435\u043b\u044f\u0431\u0438\u043d\u0441\u043a\n  P25          | \u0448\u0442\u0443\u0446\u0435\u0440\u043d\u0430\u044f \u0434\u0435\u0442\u0430\u043b\u044c     | \u043a\u043e\u0440\u0438\u0447\u043d\u0435\u0432\u044b\u0439    |  450 | \u0427\u0435\u0440\u0435\u043f\u043e\u0432\u0435\u0446\n  P2           | \u0448\u0443\u0440\u0443\u043f                | \u0447\u0451\u0440\u043d\u044b\u0439        |    5 | \u041b\u043e\u043d\u0434\u043e\u043d\n  P26          | \u043b\u0435\u0437\u0432\u0438\u0435               | \u0431\u0435\u0441\u0446\u0432\u0435\u0442\u043d\u044b\u0439    |  120 | \u0419\u043e\u043a\u043e\u0433\u0430\u043c\u0430\n (26 rows)\n\n==== \u0418\u0437\u0434\u0435\u043b\u0438\u044f ====\n\n<syntaxhighlight lang=\"sql\">\nSELECT * FROM spasoi_ekz.j;\n</syntaxhighlight>\n\n  nomer_izdelia |       nazvanie        |      gorod\n ---------------+-----------------------+-----------------\n  J1            | \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044c            | \u041c\u0430\u0433\u043d\u0438\u0442\u043e\u0433\u043e\u0440\u0441\u043a\n  J2            | \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440             | \u0417\u0435\u043b\u0435\u043d\u043e\u0433\u0440\u0430\u0434\n  J3            | \u0442\u043e\u0440\u0448\u0435\u0440                | \u041d\u0438\u0436\u043d\u0438\u0439 \u041d\u043e\u0432\u0433\u043e\u0440\u043e\u0434\n  J4            | \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0435 \u0438\u0437\u0434\u0435\u043b\u0438\u0435 | \u041f\u0430\u0440\u0438\u0436\n  J5            | \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0438\u0437\u0434\u0435\u043b\u0438\u0435    | \u0411\u043e\u0441\u0442\u043e\u043d\n  J6            | \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434 01/23       | \u041c\u0430\u043d\u0447\u0435\u0441\u0442\u0435\u0440\n  J7            | \u0438\u0437\u0434\u0435\u043b\u0438\u0435 \u0438\u0437 \u0431\u043e\u043b\u0442\u043e\u0432     | \u0427\u0435\u043b\u044f\u0431\u0438\u043d\u0441\u043a\n  J8            | \u0448\u043a\u0430\u0444                  | \u042f\u0440\u043e\u0441\u043b\u0430\u0432\u043b\u044c\n  J9            | \u0440\u0430\u043c\u0430 02-01            | \u0427\u0435\u0440\u0435\u043f\u043e\u0432\u0435\u0446\n  J10           | \u043a\u043d\u0438\u0433\u0430                 | \u0410\u0441\u0442\u0440\u0430\u0445\u0430\u043d\u044c\n  J11           | \u043f\u0430\u043d\u043d\u043e 01-03           | \u0424\u043b\u043e\u0440\u0435\u043d\u0446\u0438\u044f\n  J12           | \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434 03-04       | \u041a\u043b\u0438\u043d\n  J13           | \u0440\u0430\u043c\u0430 02-03            | \u0427\u0435\u0440\u0435\u043f\u043e\u0432\u0435\u0446\n  J14           | \u0448\u0442\u0443\u0446\u0435\u0440 01-02          | \u0427\u0435\u0440\u0435\u043f\u043e\u0432\u0435\u0446\n  J15           | \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434 01-04       | \u041a\u043b\u0438\u043d\n  J16           | \u043a\u0440\u0443\u0436\u0435\u0432\u043d\u043e\u0435 \u0431\u0435\u043b\u044c\u0451       | \u0427\u0435\u043b\u044f\u0431\u0438\u043d\u0441\u043a\n  J17           | \u0448\u0442\u0443\u0446\u0435\u0440 01-03          | \u0427\u0435\u0440\u0435\u043f\u043e\u0432\u0435\u0446\n  J18           | \u043a\u0438\u043d\u0436\u0430\u043b                | \u0419\u043e\u043a\u043e\u0433\u0430\u043c\u0430\n (18 rows)\n\n==== \u0421\u0431\u043e\u0440\u043a\u0438 ====\n\n<syntaxhighlight lang=\"sql\">\nSELECT * FROM spasoi_ekz.spj;\n</syntaxhighlight>\n\n  nomer_postavshika | nomer_detali | nomer_izdelia | kolichestvo\n -------------------+--------------+---------------+-------------\n  S1                | P6           | J2            |          20\n  S1                | P7           | J2            |           5\n  S2                | P1           | J1            |           4\n  S6                | P4           | J1            |           2\n  S6                | P5           | J1            |           6\n  S3                | P9           | J3            |           1\n  S4                | P10          | J3            |           1\n  S5                | P11          | J3            |           1\n  S2                | P4           | J1            |           8\n  S6                | P3           | J1            |          50\n  S7                | P8           | J2            |          25\n  S1                | P12          | J4            |           1\n  S2                | P12          | J4            |           1\n  S3                | P12          | J4            |           1\n  S4                | P12          | J4            |           1\n  S5                | P12          | J4            |           1\n  S7                | P12          | J4            |           1\n  S7                | P2           | J1            |           1\n  S6                | P2           | J1            |           9\n  S6                | P12          | J4            |           7\n  S1                | P13          | J5            |          14\n  S6                | P14          | J1            |        9000\n  S2                | P14          | J1            |           3\n  S6                | P1           | J1            |          12\n  S8                | P15          | J6            |           1\n  S8                | P16          | J6            |           2\n  S3                | P5           | J6            |          10\n  S10               | P2           | J8            |           4\n  S8                | P1           | J7            |          16\n  S9                | P14          | J7            |           3\n  S11               | P10          | J3            |           2\n  S12               | P15          | J1            |           3\n  S11               | P11          | J3            |           4\n  S10               | P14          | J9            |           5\n  S13               | P17          | J10           |        1001\n  S14               | P17          | J10           |        1111\n  S15               | P17          | J10           |        1010\n  S5                | P18          | J11           |           9\n  S5                | P19          | J11           |           1\n  S5                | P20          | J11           |           4\n  S9                | P14          | J8            |          25\n  S12               | P21          | J12           |          15\n  S11               | P22          | J13           |           9\n  S11               | P1           | J14           |          26\n  S12               | P1           | J14           |          13\n  S12               | P2           | J14           |          54\n  S12               | P23          | J4            |         101\n  S12               | P16          | J15           |          40\n  S7                | P21          | J12           |           3\n  S8                | P21          | J12           |           4\n  S9                | P21          | J12           |           5\n  S1                | P24          | J16           |           1\n  S1                | P15          | J6            |           3\n  S4                | P25          | J17           |           1\n  S17               | P16          | J1            |           4\n  S18               | P26          | J18           |           1\n (56 rows)\n\n== \u0413\u043e\u0442\u043e\u0432\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b ==\n\n=== \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 ===\n\n\u0415\u0441\u043b\u0438 \u0432\u0438\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0442\u043e\u0442 \u0438\u043b\u0438 \u0438\u043d\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u0440\u043e\u0447\u0435 \u0438 \u0440\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0435\u0439 - \u0441\u043c\u0435\u043b\u043e \u0432\u043d\u043e\u0441\u0438\u0442\u0435 \u043f\u0440\u0430\u0432\u043a\u0443.\n\n==== \u041f\u0440\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0438 \u0442\u043e\u043b\u044c\u043a\u043e ====\n\n\u0412 \u0442\u0440\u0451\u0445 \u0431\u0438\u043b\u0435\u0442\u0430\u0445 \u0432 \u0437\u0430\u0434\u0430\u043d\u0438\u0438 \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0430 \"''\u0442\u043e\u043b\u044c\u043a\u043e \u0438 \u0442\u043e\u043b\u044c\u043a\u043e''\". \u041a\u0430\u043a \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u044d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435: \u0435\u0441\u043b\u0438 \u0445\u043e\u043b\u043e\u0434\u0438\u043b\u044c\u043d\u0438\u043a\u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 ''\u0442\u043e\u043b\u044c\u043a\u043e \u0438 \u0442\u043e\u043b\u044c\u043a\u043e'' \u0423\u0430\u0441\u044f, \u0442\u043e:\n# \u043a\u0440\u043e\u043c\u0435 \u0423\u0430\u0441\u0438 \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0445\u043e\u043b\u043e\u0434\u0438\u043b\u044c\u043d\u0438\u043a\u0438;\n# \u0423\u0430\u0441\u044f \u043d\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0438\u0447\u0435\u0433\u043e, \u043a\u0440\u043e\u043c\u0435 \u0445\u043e\u043b\u043e\u0434\u0438\u043b\u044c\u043d\u0438\u043a\u043e\u0432.\n\n<s>\u0412\u0435\u043b\u0438\u043a\u0438\u0439 \u0438 \u043c\u043e\u0433\u0443\u0447\u0438\u0439 \u0440\u0443\u0441\u0441\u043a\u0438\u0439 \u044f\u0437\u044b\u043a\u0430, \u043d\u0443 \u0447\u0442\u043e \u0437\u0430 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u044f \u043d\u0430 \u0431\u0443\u043c\u0430\u0433\u0435.</s>\n\n\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b, \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043e\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c\u0438 \u0438 \u0438\u0445 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0442\u044c.\n\n==== \u041f\u0440\u043e JOIN ====\n\n\u041f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b, \u0433\u0434\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446, \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c <code>JOIN</code>, \u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0441 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446 \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043f\u044f\u0442\u0443\u044e.\n\n\u041d\u043e \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u043e \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u044d\u0442\u043e \u043f\u043e\u0447\u0442\u0438 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f [http://ru.wikipedia.org/wiki/Join_%28SQL%29#CROSS_JOIN CROSS JOIN]. \u0422\u0430\u043a\u043e\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446 (<code>CROSS JOIN + WHERE</code>) \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u043c, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0435\u0433\u043e \u043d\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 SQL ANSI. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 <code>JOIN</code> \u0441 \u0443\u0441\u043b\u043e\u0432\u0438\u0435\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0432 <code>ON</code> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f <s>\u0445\u0438\u043f\u0441\u0442\u0435\u0440\u0441\u0442\u0432\u043e\u043c \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438</s> \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c \u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u044b\u043c.\n\n=== \u0411\u0438\u043b\u0435\u0442 1 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u043d\u043e\u043c\u0435\u0440\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442, \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435, \u0432\u0441\u0435 \u0442\u0435 \u0434\u0435\u0442\u0430\u043b\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c 'S2'.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT DISTINCT nomer_postavshika\nFROM spasoi_ekz.spj SPJX\nWHERE NOT EXISTS (\n                  SELECT nomer_detali\n                  FROM spasoi_ekz.spj SPJY\n                  WHERE nomer_postavshika = 'S2'\n                    AND NOT EXISTS (\n                                    SELECT *\n                                    FROM spasoi_ekz.spj\n                                    WHERE nomer_postavshika = SPJX.nomer_postavshika\n                                      AND nomer_detali = SPJY.nomer_detali\n                                   )\n                 );\n</syntaxhighlight>\n\n\u0415\u0449\u0435 \u043e\u0434\u0438\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442:\n<syntaxhighlight lang=\"sql\">\nWITH\n  s_all AS (\n      SELECT DISTINCT nomer_detali\n      FROM spasoi_ekz.spj SPJY\n      WHERE nomer_postavshika = 'S2'\n  )\n\nSELECT\n  spj.nomer_postavshika\nFROM spasoi_ekz.spj\n  INNER JOIN s_all ON s_all.nomer_detali = spj.nomer_detali\nWHERE\n  nomer_postavshika != 'S2'\nGROUP BY nomer_postavshika\nHAVING count(spj.nomer_detali) = (SELECT count(*) FROM s_all);\n</syntaxhighlight>\n<!-- <div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u0415\u0449\u0451 \u0432\u0430\u0440\u0438\u0430\u043d\u0442''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT DISTINCT nomer_postavshika\nFROM spasoi_ekz.spj SPJ\nWHERE NOT EXISTS (\n    (SELECT DISTINCT nomer_detali FROM spasoi_ekz.spj WHERE nomer_postavshika = 'S2')\n    EXCEPT\n    (SELECT DISTINCT nomer_detali FROM spasoi_ekz.spj WHERE nomer_postavshika = SPJ.nomer_postavshika)\n)\nAND nomer_postavshika != 'S2'\n</syntaxhighlight>\n</div>\n</div> -->\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n  nomer_postavshika\n -------------------\n  S6\n  S2\n (2 rows)\n\n=== \u0411\u0438\u043b\u0435\u0442 2 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u043d\u043e\u043c\u0435\u0440\u0430 \u0434\u0435\u0442\u0430\u043b\u0435\u0439 \u0438 \u043e\u0431\u0449\u0435\u0435 \u0438\u0445 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043d\u043e\u043c\u0435\u0440\u043e\u0432 \u0434\u0435\u0442\u0430\u043b\u0435\u0439, \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0445 \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c \u043e\u0434\u043d\u0438\u043c \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u043c.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u043a\u0430\u043a\u0438\u043c \u0435\u0433\u043e \u0434\u0430\u043b \u0413\u0440\u0438\u0433\u043e\u0440\u044c\u0435\u0432 \u043d\u0430 \u043b\u0435\u043a\u0446\u0438\u0438, \u0432\u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0432 \u0435\u0433\u043e:\n\n<syntaxhighlight lang=\"sql\">\nSELECT nomer_detali AS \"\u041d\u043e\u043c\u0435\u0440 \u0434\u0435\u0442\u0430\u043b\u0438\",\n       SUM(kolichestvo) AS \"\u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0448\u0442\u0443\u043a \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f\",\n       COUNT(DISTINCT nomer_postavshika) AS \"\u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0443 \u043d\u0435\u0451 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432\"\nFROM spasoi_ekz.spj\nGROUP BY nomer_detali HAVING COUNT(DISTINCT nomer_postavshika) > 1;\n</syntaxhighlight>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u0415\u0449\u0451 \u0432\u0430\u0440\u0438\u0430\u043d\u0442''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT nomer_detali AS \"\u041d\u043e\u043c\u0435\u0440 \u0434\u0435\u0442\u0430\u043b\u0438\",\n       kol AS \"\u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0448\u0442\u0443\u043a \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f\"\nFROM (\n      SELECT nomer_detali,\n             SUM(kolichestvo) AS kol,\n             COUNT(DISTINCT nomer_postavshika)\n      FROM spasoi_ekz.spj\n      GROUP BY nomer_detali HAVING COUNT(DISTINCT nomer_postavshika) > 1\n     ) A;\n</syntaxhighlight>\n</div>\n</div>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n  \u041d\u043e\u043c\u0435\u0440 \u0434\u0435\u0442\u0430\u043b\u0438 | \u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0448\u0442\u0443\u043a \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f | \u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0443 \u043d\u0435\u0451 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432\n --------------+---------------------------+---------------------------\n  P1           |                        71 |                         5\n  P10          |                         3 |                         2\n  P11          |                         5 |                         2\n  P12          |                        13 |                         7\n  P14          |                      9036 |                         4\n  P15          |                         7 |                         3\n  P16          |                        46 |                         3\n  P17          |                      3122 |                         3\n  P2           |                        68 |                         4\n  P21          |                        27 |                         4\n  P4           |                        10 |                         2\n  P5           |                        16 |                         2\n (12 rows)\n\n=== \u0411\u0438\u043b\u0435\u0442 3 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u043d\u043e\u043c\u0435\u0440\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432, \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445 \u0434\u0435\u0442\u0430\u043b\u0438 \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c 'P1' \u0434\u043b\u044f \u043a\u0430\u043a\u043e\u0433\u043e-\u043b\u0438\u0431\u043e \u0438\u0437\u0434\u0435\u043b\u0438\u044f \u0432 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 (\u0432 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0435) \u0431\u043e\u043b\u044c\u0448\u0438\u043c, \u0447\u0435\u043c \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u043e\u0431\u044a\u0451\u043c \u043f\u043e\u0441\u0442\u0430\u0432\u043e\u043a \u0434\u0435\u0442\u0430\u043b\u0435\u0439 \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c 'P2' \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0437\u0434\u0435\u043b\u0438\u044f.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT X.nomer_postavshika \nFROM spasoi_ekz.spj X\nWHERE X.nomer_detali = 'P1'\n  AND X.kolichestvo > (\n                       SELECT AVG(kolichestvo)\n                       FROM spasoi_ekz.spj\n                       WHERE nomer_izdelia = X.nomer_izdelia\n                         AND nomer_detali = 'P2'\n                      );\n</syntaxhighlight>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u042d\u0442\u043e\u0442 \u0436\u0435 \u0437\u0430\u043f\u0440\u043e\u0441, \u043d\u043e \u0434\u043b\u0438\u043d\u043d\u0435\u0435 \u0438 \u043d\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0435\u0439''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT DISTINCT nomer_postavshika\nFROM (\n      SELECT *\n      FROM spasoi_ekz.spj\n      WHERE nomer_izdelia IN(\n                             SELECT nomer_izdelia\n                             FROM spasoi_ekz.spj\n                             WHERE nomer_detali = 'P1'\n                            )\n        AND nomer_izdelia IN(\n\t                     SELECT nomer_izdelia\n\t                     FROM spasoi_ekz.spj\n\t                     WHERE nomer_detali = 'P2'\n\t                    )\n     ) A\nWHERE nomer_detali = 'P1' AND kolichestvo >\n(\n SELECT AVG(kolichestvo)\n FROM (\n       SELECT *\n       FROM spasoi_ekz.spj\n       WHERE nomer_izdelia IN(\n                              SELECT nomer_izdelia\n                              FROM spasoi_ekz.spj\n                              WHERE nomer_detali = 'P1'\n                             )\n         AND nomer_izdelia IN(\n                              SELECT nomer_izdelia\n                              FROM spasoi_ekz.spj\n                              WHERE nomer_detali = 'P2'\n                             )\n      ) B\n WHERE nomer_detali = 'P2'\n);\n</syntaxhighlight>\n</div>\n</div>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n  nomer_postavshika\n -------------------\n  S6\n (1 row)\n\n=== \u0411\u0438\u043b\u0435\u0442 4 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u043d\u043e\u043c\u0435\u0440\u0430 \u0438\u0437\u0434\u0435\u043b\u0438\u0439, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u0435\u0442\u0430\u043b\u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c \u2018S1\u2019.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT nomer_izdelia\nFROM spasoi_ekz.spj X\nWHERE NOT EXISTS (\n                  SELECT *\n                  FROM spasoi_ekz.spj\n                  WHERE nomer_postavshika != 'S1'\n                    AND X.nomer_izdelia = nomer_izdelia\n                 );\n</syntaxhighlight>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u042d\u0442\u043e\u0442 \u0436\u0435 \u0437\u0430\u043f\u0440\u043e\u0441, \u043d\u043e \u0431\u0435\u0437 EXISTS''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT DISTINCT nomer_izdelia\nFROM spasoi_ekz.spj\nWHERE nomer_izdelia IN(\n                       SELECT nomer_izdelia\n                       FROM spasoi_ekz.spj\n                       WHERE nomer_postavshika = 'S1'\n                      )\n  AND nomer_izdelia NOT IN(\n                           SELECT nomer_izdelia\n                           FROM spasoi_ekz.spj\n                           WHERE nomer_postavshika != 'S1'\n                          );\n</syntaxhighlight>\n</div>\n</div>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n  nomer_izdelia\n ---------------\n  J5\n  J16\n (2 rows)\n\n=== \u0411\u0438\u043b\u0435\u0442 5 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432, \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445 \u0434\u0435\u0442\u0430\u043b\u0438 \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \"\u0411\u043e\u043b\u0442\" \u0432 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 (\u0432 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0435) \u0431\u043e\u043b\u044c\u0448\u0438\u043c, \u0447\u0435\u043c \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u043e\u0431\u044a\u0451\u043c \u0432\u0441\u0435\u0445 \u043f\u043e\u0441\u0442\u0430\u0432\u043e\u043a \u0434\u0435\u0442\u0430\u043b\u0435\u0439 \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c 'P1'.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT imya\nFROM spasoi_ekz.spj SPJ JOIN spasoi_ekz.s S\n                           ON SPJ.nomer_postavshika = S.nomer_postavshika\n                        JOIN spasoi_ekz.p P\n                           ON SPJ.nomer_detali = P.nomer_detali\n                              AND nazvanie = LOWER('\u0411\u043e\u043b\u0442')\nWHERE kolichestvo > (\n                     SELECT AVG(kolichestvo)\n                     FROM spasoi_ekz.spj\n                     WHERE nomer_detali = 'P1'\n                    );\n</syntaxhighlight>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u0412\u0430\u0440\u0438\u0430\u043d\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0431\u0435\u0437 JOIN''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT imya\nFROM spasoi_ekz.s S, spasoi_ekz.p P, spasoi_ekz.spj SPJ\nWHERE P.nazvanie = LOWER('\u0411\u043e\u043b\u0442')\n  AND P.nomer_detali = SPJ.nomer_detali\n  AND S.nomer_postavshika = SPJ.nomer_postavshika\n  AND SPJ.kolichestvo > (\n                         SELECT AVG(kolichestvo)\n                         FROM spasoi_ekz.spj\n                         WHERE nomer_detali = 'P1'\n                        );\n</syntaxhighlight>\n</div>\n</div>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u0415\u0449\u0451 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0431\u0435\u0437 JOIN \u0438 \u0441\u043b\u043e\u0436\u043d\u0435\u0435''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT imya\nFROM spasoi_ekz.s\nWHERE nomer_postavshika IN (\n                            SELECT nomer_postavshika\n                            FROM spasoi_ekz.spj\n                            WHERE nomer_detali = (\n                                                  SELECT nomer_detali\n                                                  FROM spasoi_ekz.p\n                                                  WHERE LOWER(nazvanie) = LOWER('\u0411\u043e\u043b\u0442')\n                                                 )\n                              AND kolichestvo > (\n                                                 SELECT AVG(kolichestvo)\n                                                 FROM spasoi_ekz.spj\n                                                 WHERE nomer_detali = 'P1'\n                                                )\n                           );\n</syntaxhighlight>\n</div>\n</div>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n  imya\n ------\n  \u041e\u0448\u0430\n  \u0418\u0432\u0430\u043d\u043e\u0432\n (2 rows)\n\n=== \u0411\u0438\u043b\u0435\u0442 6 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0434\u0435\u0442\u0430\u043b\u0435\u0439, \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0445 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u043c, \u043f\u0440\u043e\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u043c \u0432 \u0442\u043e\u043c \u0436\u0435 \u0433\u043e\u0440\u043e\u0434\u0435, \u0433\u0434\u0435 \u0438\u0437\u0433\u043e\u0442\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u044d\u0442\u0438 \u0434\u0435\u0442\u0430\u043b\u0438, \u0434\u043b\u044f \u0438\u0437\u0434\u0435\u043b\u0438\u044f \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u2018\u0412\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434 01/23\u2019.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT P.nazvanie\nFROM spasoi_ekz.spj SPJ JOIN spasoi_ekz.s S\n                          ON SPJ.nomer_postavshika = S.nomer_postavshika\n                        JOIN spasoi_ekz.p P\n                          ON SPJ.nomer_detali = P.nomer_detali\n                        JOIN spasoi_ekz.j J\n                          ON SPJ.nomer_izdelia = J.nomer_izdelia\nWHERE S.gorod = P.gorod\n  AND J.nazvanie = LOWER('\u0412\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434 01/23');\n</syntaxhighlight>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u042d\u0442\u043e\u0442 \u0436\u0435 \u0437\u0430\u043f\u0440\u043e\u0441 \u0431\u0435\u0437 JOIN''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT DISTINCT nazvanie\nFROM spasoi_ekz.S S, spasoi_ekz.p P, spasoi_ekz.spj SPJ\nWHERE S.gorod = P.gorod\n  AND P.nomer_detali = SPJ.nomer_detali\n  AND S.nomer_postavshika = SPJ.nomer_postavshika\n  AND nomer_izdelia = (\n                       SELECT nomer_izdelia\n                       FROM spasoi_ekz.j\n                       WHERE nazvanie = LOWER('\u0412\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434 01/23')\n                      );\n</syntaxhighlight>\n</div>\n</div>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n  nazvanie\n ----------\n  \u0440\u0430\u043c\u0430\n  \u043a\u043e\u043b\u0435\u0441\u043e\n (2 rows)\n\n=== \u0411\u0438\u043b\u0435\u0442 7 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0438\u0437\u0434\u0435\u043b\u0438\u0439, \u043a\u0443\u0434\u0430 \u0432\u0445\u043e\u0434\u044f\u0442 \u0434\u0435\u0442\u0430\u043b\u0438 \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c '\u0411\u043e\u043b\u0442', \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0445 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430\u043c\u0438 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c '\u0418\u0432\u0430\u043d\u043e\u0432', \u0432 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 (\u0432 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0435) \u0431\u043e\u043b\u044c\u0448\u0438\u043c, \u0447\u0435\u043c \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u043e\u0431\u044a\u0451\u043c \u043f\u043e\u0441\u0442\u0430\u0432\u043e\u043a \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0437\u0434\u0435\u043b\u0438\u044f.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT J.nazvanie\nFROM spasoi_ekz.spj SPJ JOIN spasoi_ekz.s S\n                          ON SPJ.nomer_postavshika = S.nomer_postavshika\n                        JOIN spasoi_ekz.p P\n                          ON SPJ.nomer_detali = P.nomer_detali\n                        JOIN spasoi_ekz.j J\n                          ON SPJ.nomer_izdelia = J.nomer_izdelia\nWHERE imya LIKE '%\u0418\u0432\u0430\u043d\u043e\u0432%'\n  AND P.nazvanie = LOWER('\u0411\u043e\u043b\u0442')\n  AND kolichestvo > (\n                     SELECT AVG(kolichestvo)\n                     FROM spasoi_ekz.spj X\n                     WHERE SPJ.nomer_izdelia = X.nomer_izdelia\n                    );\n</syntaxhighlight>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u0415\u0449\u0451 \u043e\u0434\u0438\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT nazvanie\nFROM spasoi_ekz.j\nWHERE nomer_izdelia IN (\n                        SELECT nomer_izdelia\n                        FROM (spasoi_ekz.spj SPJ JOIN spasoi_ekz.s S\n                                                   ON SPJ.nomer_postavshika = S.nomer_postavshika\n                                                      AND imya LIKE '%\u0418\u0432\u0430\u043d\u043e\u0432%'\n                                                 JOIN spasoi_ekz.p P\n                                                   ON SPJ.nomer_detali = P.nomer_detali\n                                                      AND nazvanie = LOWER('\u0411\u043e\u043b\u0442')) A\n                        WHERE kolichestvo > (\n                                             SELECT AVG(kolichestvo)\n                                             FROM spasoi_ekz.spj SPJ JOIN spasoi_ekz.j J\n                                                                       ON SPJ.nomer_izdelia = A.nomer_izdelia\n                                            )\n                       );\n</syntaxhighlight>\n</div>\n</div>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u0418 \u0435\u0449\u0451 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u044d\u0442\u043e\u0433\u043e \u0436\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u043d\u043e \u0434\u043b\u0438\u043d\u043d\u0435\u0435 \u0438 \u043d\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0435\u0439''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT nazvanie\nFROM (\n      SELECT J.nazvanie, kolichestvo\n      FROM spasoi_ekz.s S, spasoi_ekz.p P, spasoi_ekz.j J, spasoi_ekz.spj SPJ\n      WHERE J.nomer_izdelia = SPJ.nomer_izdelia\n        AND P.nomer_detali = SPJ.nomer_detali\n        AND P.nazvanie = LOWER('\u0411\u043e\u043b\u0442')\n        AND S.imya LIKE '%\u0418\u0432\u0430\u043d\u043e\u0432%'\n        AND S.nomer_postavshika = SPJ.nomer_postavshika\n     ) A\nWHERE kolichestvo >\n(\n SELECT AVG(kolichestvo)\n FROM spasoi_ekz.spj\n WHERE nomer_izdelia IN(\n                        SELECT J.nomer_izdelia\n                        FROM spasoi_ekz.s S, spasoi_ekz.p P, spasoi_ekz.j J, spasoi_ekz.spj SPJ\n                        WHERE J.nomer_izdelia = SPJ.nomer_izdelia\n                          AND P.nomer_detali = SPJ.nomer_detali\n                          AND P.nazvanie = LOWER('\u0411\u043e\u043b\u0442')\n                          AND S.imya LIKE '%\u0418\u0432\u0430\u043d\u043e\u0432%'\n                          AND S.nomer_postavshika = SPJ.nomer_postavshika\n                       )\n);\n</syntaxhighlight>\n</div>\n</div>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n      nazvanie\n -------------------\n  \u0448\u043a\u0430\u0444\n (1 row)\n\n=== \u0411\u0438\u043b\u0435\u0442 8 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u043d\u043e\u043c\u0435\u0440\u0430 \u0438\u0437\u0434\u0435\u043b\u0438\u0439 \u0438 \u043e\u0431\u0449\u0435\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u0435\u0442\u0430\u043b\u0435\u0439 \u0434\u043b\u044f \u043d\u0438\u0445, \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0445 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430\u043c\u0438 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c '\u041f\u0435\u0442\u0440\u043e\u0432'.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT nomer_izdelia AS \"\u041d\u043e\u043c\u0435\u0440 \u0438\u0437\u0434\u0435\u043b\u0438\u044f\", SUM(kolichestvo) AS \"\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u0435\u0442\u0430\u043b\u0435\u0439\" \nFROM spasoi_ekz.spj SPJ JOIN spasoi_ekz.s S\n                          ON SPJ.nomer_postavshika = S.nomer_postavshika\n                             -- \u0442\u0430\u043a \u043a\u0430\u043a \"\u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0410\u041c\u0418\" \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\n                             -- \u0418\u0432\u0430\u043d \u041f\u0435\u0442\u0440\u043e\u0432 \u0438 \u041f\u0435\u0442\u0440\u043e\u0432 \u0418\u0432\u0430\u043d, \u0442\u043e LIKE %\u041f\u0435\u0442\u0440\u043e\u0432%\n                             AND imya LIKE '%\u041f\u0435\u0442\u0440\u043e\u0432%'\nGROUP BY nomer_izdelia;\n</syntaxhighlight>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n  \u041d\u043e\u043c\u0435\u0440 \u0438\u0437\u0434\u0435\u043b\u0438\u044f | \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u0435\u0442\u0430\u043b\u0435\u0439\n ---------------+--------------------\n  J4            |                101\n  J3            |                  6\n  J13           |                  9\n  J15           |                 40\n  J1            |                  3\n  J12           |                 15\n  J14           |                 93\n (7 rows)\n\n=== \u0411\u0438\u043b\u0435\u0442 9 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u043d\u043e\u043c\u0435\u0440\u0430 \u0434\u0435\u0442\u0430\u043b\u0435\u0439 \u0438 \u043e\u0431\u0449\u0435\u0435 \u0438\u0445 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043d\u043e\u043c\u0435\u0440\u043e\u0432 \u0434\u0435\u0442\u0430\u043b\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0445\u043e\u0434\u044f\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u0434\u043d\u043e \u0438\u0437\u0434\u0435\u043b\u0438\u0435.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT nomer_detali, SUM(kolichestvo)\nFROM spasoi_ekz.spj\nGROUP BY nomer_detali HAVING COUNT(DISTINCT nomer_izdelia) = 1;\n</syntaxhighlight>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u0415\u0449\u0451 \u0432\u0430\u0440\u0438\u0430\u043d\u0442''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT nomer_detali, kol FROM (\n       SELECT nomer_detali, SUM(kolichestvo) AS kol, COUNT(DISTINCT nomer_izdelia) = 1\n       FROM spasoi_ekz.spj\n       GROUP BY nomer_detali HAVING COUNT(DISTINCT nomer_izdelia) = 1\n    ) A;\n</syntaxhighlight>\n</div>\n</div>\n\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n  nomer_detali | sum\n --------------+------\n  P10          |    3\n  P11          |    5\n  P12          |   13\n  P13          |   14\n  P17          | 3122\n  P18          |    9\n  P19          |    1\n  P20          |    4\n  P21          |   27\n  P22          |    9\n  P23          |  101\n  P24          |    1\n  P25          |    1\n  P26          |    1\n  P3           |   50\n  P4           |   10\n  P6           |   20\n  P7           |    5\n  P8           |   25\n  P9           |    1\n (20 rows)\n\n=== \u0411\u0438\u043b\u0435\u0442 10 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432, \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445 \u0434\u0435\u0442\u0430\u043b\u0438 \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c '\u0411\u043e\u043b\u0442' \u0434\u043b\u044f \u0438\u0437\u0434\u0435\u043b\u0438\u044f \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c '\u0420\u0430\u043c\u0430 02-01' \u0432 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 (\u0432 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0435) \u0431\u043e\u043b\u044c\u0448\u0438\u043c, \u0447\u0435\u043c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0434\u0435\u0442\u0430\u043b\u0438 \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c 'P1'.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT imya\nFROM spasoi_ekz.spj SPJ JOIN spasoi_ekz.j J\n\t\t\t   ON SPJ.nomer_izdelia = J.nomer_izdelia\n\t\t\t      AND J.nazvanie = LOWER('\u0420\u0430\u043c\u0430 02-01')\n\t\t\t JOIN spasoi_ekz.p P\n\t\t\t   ON SPJ.nomer_detali = P.nomer_detali\n\t\t\t      AND P.nazvanie = LOWER('\u0411\u043e\u043b\u0442')\n\t\t\t JOIN spasoi_ekz.s S\n\t\t\t   ON SPJ.nomer_postavshika = S.nomer_postavshika\nWHERE kolichestvo > (\n\t\t     SELECT MIN(kolichestvo)\n\t\t     FROM spasoi_ekz.spj \n\t\t     WHERE nomer_detali = 'P1'\n                    );\n</syntaxhighlight>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n\u042d\u0442\u043e\u0442 \u0436\u0435 \u0437\u0430\u043f\u0440\u043e\u0441 \u0431\u0435\u0437 JOIN (\u0442\u043e\u0447\u043d\u0435\u0435, \u0441 CROSS JOIN):\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT S.imya\nFROM spasoi_ekz.s S,\n     spasoi_ekz.p P,\n     spasoi_ekz.j J,\n     spasoi_ekz.spj SPJ\nWHERE SPJ.nomer_postavshika = S.nomer_postavshika\n  AND SPJ.nomer_detali = P.nomer_detali\n  AND SPJ.nomer_izdelia = J.nomer_izdelia\n  AND P.nazvanie = LOWER('\u0411\u043e\u043b\u0442') \n  AND J.nazvanie = LOWER('\u0420\u0430\u043c\u0430 02-01')\n  AND SPJ.kolichestvo > (\n                         SELECT MIN(kolichestvo)\n                         FROM spasoi_ekz.spj\n                         WHERE nomer_detali = 'P1'\n                        );\n\n</syntaxhighlight>\n</div>\n</div>\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n     imya\n -------------\n  \u0420\u0443\u0441\u0435 \u0411\u043e\u043b\u0442\u043e\u043d\n (1 row)\n\n=== \u0411\u0438\u043b\u0435\u0442 11 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0433\u043e\u0440\u043e\u0434\u043e\u0432 \u0438 \u0441\u0443\u043c\u043c\u0430\u0440\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043f\u0440\u043e\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0433\u043e\u0440\u043e\u0434\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432, \u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u044a\u0451\u043c \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0434\u0435\u0442\u0430\u043b\u0435\u0439 \u0431\u043e\u043b\u044c\u0448\u0435 1000.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT gorod, SUM(sostoyanie)\nFROM spasoi_ekz.s S\nWHERE (\t\n       SELECT MIN(kolichestvo)\t\n       FROM spasoi_ekz.spj X\t\n       WHERE X.nomer_postavshika = S.nomer_postavshika\t\t\n      ) > 1000\nGROUP BY gorod;\n</syntaxhighlight>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u0418 \u0435\u0449\u0451 \u0432\u0430\u0440\u0438\u0430\u043d\u0442''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT gorod, SUM(sostoyanie)\nFROM spasoi_ekz.s\nWHERE nomer_postavshika IN (\n                            SELECT nomer_postavshika\n                            FROM spasoi_ekz.spj\n                            GROUP BY nomer_postavshika HAVING MIN(kolichestvo) > 1000\n                           )\nGROUP BY gorod;\n</syntaxhighlight>\n</div>\n</div>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u0418 \u0435\u0449\u0451 \u0442\u0440\u0438 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 ''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\n-- \u0437\u0434\u0435\u0441\u044c \u0441\u0440\u0430\u0437\u0443 \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432\u0435\u0441\u044c \u0433\u043e\u0440\u043e\u0434,\n-- \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0445\u043e\u0442\u044c \u043e\u0434\u0438\u043d \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a \u0438\u043c\u0435\u0435\u0442 \u043c\u0438\u043d\u0438\u043c. \u043e\u0431\u044a\u0435\u043c <=1000,\n-- \u0430 \u043d\u0430\u0434\u043e, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b \u043e\u0442\u0431\u0440\u043e\u0448\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e\u0442 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a.\n-- \u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 GROUP BY ... HAVING ...\nSELECT gorod, SUM(sostoyanie)\nFROM spasoi_ekz.s S JOIN spasoi_ekz.spj SPJ \n                      ON SPJ.nomer_postavshika = S.nomer_postavshika\nGROUP BY gorod HAVING MIN(kolichestvo) > 1000;\n\n-- \u0442\u0430 \u0436\u0435 \u0444\u0438\u0433\u043d\u044f\nSELECT S.gorod, SUM(S.sostoyanie)--, MIN(SPJ.kolichestvo)\nFROM spasoi_ekz.s S, spasoi_ekz.spj SPJ\nWHERE S.nomer_postavshika = SPJ.nomer_postavshika\nGROUP BY gorod HAVING MIN(kolichestvo) > 1000;\n\n-- \u0438 \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u043f\u043e\u0447\u0442\u0438 \u0432\u0435\u0440\u043d\u044b\u0439\nSELECT gorod, sost\nFROM (\n      SELECT gorod, SUM(sostoyanie) AS sost, SUM(SPJ.kolichestvo)\n      FROM spasoi_ekz.spj, spasoi_ekz.s\n      WHERE S.nomer_postavshika = SPJ.nomer_postavshika\n      GROUP BY S.gorod HAVING SUM(SPJ.kolichestvo) > 1000\n     ) A;\n</syntaxhighlight>\n</div>\n</div>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n    gorod   |   sum\n -----------+---------\n  \u041f\u0440\u0430\u0433\u0430     | 2111110\n  \u0421\u0442\u043e\u043a\u0433\u043e\u043b\u044c\u043c |  888888\n (2 rows)\n\n=== \u0411\u0438\u043b\u0435\u0442 12 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u043d\u043e\u043c\u0435\u0440\u0430 \u0434\u0435\u0442\u0430\u043b\u0435\u0439, \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0445 \u0434\u043b\u044f \u043a\u0430\u043a\u043e\u0433\u043e-\u043b\u0438\u0431\u043e \u0438\u0437\u0434\u0435\u043b\u0438\u044f \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u043c, \u043f\u0440\u043e\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u043c \u0432 \u0442\u043e\u043c \u0436\u0435 \u0433\u043e\u0440\u043e\u0434\u0435, \u0433\u0434\u0435 \u0438\u0437\u0433\u043e\u0442\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u044d\u0442\u043e \u0438\u0437\u0434\u0435\u043b\u0438\u0435.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT nomer_detali\nFROM spasoi_ekz.spj SPJ, spasoi_ekz.s S, spasoi_ekz.j J\nWHERE SPJ.nomer_postavshika = S.nomer_postavshika\n  AND S.gorod = J.gorod\n  AND J.nomer_izdelia = SPJ.nomer_izdelia;\n</syntaxhighlight>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n  nomer_detali\n --------------\n  P15\n  P16\n  P26\n (3 rows)\n\n=== \u0411\u0438\u043b\u0435\u0442 13 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c <u>\u043e\u0434\u0438\u043d</u> \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0441\u0442\u0440\u043e\u043a \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 S (\u041f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a) 1) \u0441 \u043f\u0443\u0441\u0442\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u0438 2) \u043d\u0435\u043f\u0443\u0441\u0442\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u0432 \u0441\u0442\u043e\u043b\u0431\u0446\u0435 \u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT COUNT(*) - COUNT(sostoyanie) AS \"\u0421 \u043f\u0443\u0441\u0442\u044b\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u043c\", \n       COUNT(sostoyanie) AS \"\u0421 \u043d\u0435 \u043f\u0443\u0441\u0442\u044b\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u043c\"\nFROM spasoi_ekz.s;\n</syntaxhighlight>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u042d\u0442\u043e\u0442 \u0436\u0435 \u0437\u0430\u043f\u0440\u043e\u0441, \u043d\u043e \u0434\u043b\u0438\u043d\u043d\u0435\u0435 \u0438 \u043d\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0435\u0439''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\n\nSELECT COUNT(Snull.*) AS \"\u0421 \u043f\u0443\u0441\u0442\u044b\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u043c\", COUNT(Snotnull.sostoyanie) AS \"\u0421 \u043d\u0435 \u043f\u0443\u0441\u0442\u044b\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u043c\"\nFROM spasoi_ekz.s Snull RIGHT OUTER JOIN spasoi_ekz.s Snotnull\n                                      ON Snull.nomer_postavshika = Snotnull.nomer_postavshika\n                                         AND Snull.sostoyanie IS NULL;\n</syntaxhighlight>\n</div>\n</div>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n  \u0421 \u043f\u0443\u0441\u0442\u044b\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u043c | \u0421 \u043d\u0435 \u043f\u0443\u0441\u0442\u044b\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u043c\n ---------------------+-----------------------\n                    2 |                    16\n (1 row)\n\n=== \u0411\u0438\u043b\u0435\u0442 14 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0434\u0435\u0442\u0430\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0438\u0437\u0434\u0435\u043b\u0438\u044f \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c 'J1'.\n\n\u0427\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e, \u0432\u043e\u0437\u044c\u043c\u0451\u043c \u0438\u0437\u0434\u0435\u043b\u0438\u0435 \u043d\u0435 'J1', \u0430 'J18', \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u044b\u043b\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u0415\u0441\u043b\u0438 \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c 'J1', \u0442\u043e \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0441\u0442\u0438 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u043e \u043d\u0430\u0448\u0435\u0439 \u0441\u0445\u0435\u043c\u0435 \u0411\u0414 \u044d\u0442\u043e \u0438\u0437\u0434\u0435\u043b\u0438\u0435 \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u043f\u043e\u0434 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \"\u0442\u043e\u043b\u044c\u043a\u043e \u0438 \u0442\u043e\u043b\u044c\u043a\u043e\", \u0438 \u0437\u0430\u043f\u0440\u043e\u0441 \u0432\u0435\u0440\u043d\u0451\u0442 \u043f\u0443\u0441\u0442\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT DISTINCT imya\nFROM spasoi_ekz.s S\nWHERE NOT EXISTS (\n                  SELECT *\n                  FROM spasoi_ekz.spj\n                  WHERE (\n\t\t\t nomer_izdelia != 'J18'\n\t\t\t AND\n\t\t\t nomer_postavshika  = S.nomer_postavshika)\n\t\t      OR\n\t\t        (\n\t\t         nomer_izdelia = 'J18'\n\t\t         AND\n\t\t         nomer_postavshika != S.nomer_postavshika\n\t\t\t)\n                 );\n</syntaxhighlight>\n\n\u0414\u0440\u0443\u0433\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442:\n<syntaxhighlight lang=\"sql\">\nSELECT DISTINCT imya\nFROM spasoi_ekz.s S\n             JOIN spasoi_ekz.spj SPJ ON S.nomer_postavshika = SPJ.nomer_postavshika\nWHERE SPJ.nomer_izdelia = 'J18'\nAND\nS.nomer_postavshika NOT IN (\n                  SELECT nomer_postavshika FROM spasoi_ekz.spj\n                  WHERE nomer_izdelia !='J18')\n</syntaxhighlight>\n<!-- \u044d\u0442\u043e\u0442 \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u043f\u043e\u0434 \"\u0442\u043e\u043b\u044c\u043a\u043e \u0438 \u0442\u043e\u043b\u044c\u043a\u043e\", \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b\n<syntaxhighlight lang=\"sql\">\nSELECT imya\nFROM spasoi_ekz.spj A JOIN spasoi_ekz.s S\n                          ON A.nomer_postavshika = S.nomer_postavshika\nWHERE nomer_izdelia = 'J1'\n  AND NOT EXISTS (\n                  SELECT nomer_postavshika\n                  FROM spasoi_ekz.spj\n                  WHERE nomer_izdelia != 'J1'\n                    AND nomer_postavshika = A.nomer_postavshika\n                 );\n</syntaxhighlight> -->\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n       imya\n ----------------\n  \u0411\u0435\u0437\u043b\u0438\u043a\u0438\u0439\n (1 row)\n\n=== \u0411\u0438\u043b\u0435\u0442 15 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0437\u0434\u0435\u043b\u0438\u0439, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u0435\u0442\u0430\u043b\u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0438, \u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 1000000 \u0443.\u0435.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n<syntaxhighlight lang=\"sql\">\nSELECT DISTINCT nazvanie\nFROM spasoi_ekz.j J JOIN spasoi_ekz.spj X\n                          ON J.nomer_izdelia = X.nomer_izdelia\nWHERE NOT EXISTS (\n\t\t  SELECT *\n\t\t  FROM spasoi_ekz.s S JOIN spasoi_ekz.spj SPJ\n                          ON S.nomer_postavshika = SPJ.nomer_postavshika\n\t\t  WHERE sostoyanie <= 1000000\n\t\t  AND SPJ.nomer_izdelia = X.nomer_izdelia\n                 );\n</syntaxhighlight>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u041d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\n-- \u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441, \u0435\u0441\u043b\u0438 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 SPJ \u041d\u0415\u0422 \u043f\u043e\u0441\u0442\u0430\u0432\u043e\u043a \u0441 \u044d\u0442\u0438\u043c \u0438\u0437\u0434\u0435\u043b\u0438\u0435\u043c, \n-- \u0430 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 J - \u0435\u0441\u0442\u044c \u044d\u0442\u043e \u0438\u0437\u0434\u0435\u043b\u0438\u0435, \u0442\u043e \u0437\u0430\u043f\u0440\u043e\u0441 \u0432\u0435\u0440\u043d\u0435\u0442 \u0435\u0433\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \u0445\u043e\u0442\u044f \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d\nSELECT DISTINCT nazvanie\nFROM spasoi_ekz.j J\nWHERE NOT EXISTS (\n\t\t  SELECT *\n\t\t  FROM spasoi_ekz.spj X JOIN spasoi_ekz.s S\n\t\t                          ON X.nomer_postavshika = S.nomer_postavshika\n\t\t  WHERE sostoyanie <= 1000000\n\t\t  AND X.nomer_izdelia = J.nomer_izdelia\n                 );\n</syntaxhighlight>\n</div>\n</div>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u0412\u0430\u0440\u0438\u0430\u043d\u0442 \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0431\u0435\u0437 NOT EXISTS''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT DISTINCT nazvanie\nFROM spasoi_ekz.spj SPJ JOIN spasoi_ekz.s S\n                          ON SPJ.nomer_postavshika = S.nomer_postavshika\n                        JOIN spasoi_ekz.j J\n                          ON SPJ.nomer_izdelia = J.nomer_izdelia\nWHERE sostoyanie > 1000000\n  AND SPJ.nomer_izdelia NOT IN (\n                                SELECT nomer_izdelia\n                                FROM spasoi_ekz.spj SPJ JOIN spasoi_ekz.s S\n                                                          ON SPJ.nomer_postavshika = S.nomer_postavshika\n                                WHERE sostoyanie < 1000000\n                               );\n</syntaxhighlight>\n</div>\n</div>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n       nazvanie\n --------------------\n  \u043a\u0440\u0443\u0436\u0435\u0432\u043d\u043e\u0435 \u0431\u0435\u043b\u044c\u0451\n  \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0438\u0437\u0434\u0435\u043b\u0438\u0435\n  \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\n (3 rows)\n\n=== \u0411\u0438\u043b\u0435\u0442 16 ===\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u0446\u0432\u0435\u0442\u0430 \u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0446\u0432\u0435\u0442\u0430 \u043e\u0431\u0449\u0435\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u0435\u0442\u0430\u043b\u0435\u0439, \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0432 \u0438\u0437\u0434\u0435\u043b\u0438\u0435 \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c '\u041f\u0430\u043d\u043d\u043e 01-03'.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT cvet AS \"\u0426\u0432\u0435\u0442\", SUM(kolichestvo) AS \"\u0414\u0435\u0442\u0430\u043b\u0435\u0439\"\nFROM spasoi_ekz.spj SPJ JOIN spasoi_ekz.j J\n                          ON SPJ.nomer_izdelia = J.nomer_izdelia\n\t\t\t     AND J.nazvanie = LOWER('\u041f\u0430\u043d\u043d\u043e 01-03')\n\t\t\tJOIN spasoi_ekz.P P\n\t\t\t  ON SPJ.nomer_detali = P.nomer_detali\nGROUP BY cvet;\n</syntaxhighlight>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u0414\u0440\u0443\u0433\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0434\u043b\u044f \u0442\u043e\u043d\u043a\u043e \u0447\u0443\u0432\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043d\u0430\u0442\u0443\u0440''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT cvet AS \"\u0426\u0432\u0435\u0442\", SUM(kolichestvo) AS \"\u0414\u0435\u0442\u0430\u043b\u0435\u0439\"\nFROM spasoi_ekz.spj SPJ JOIN spasoi_ekz.p P\n                          ON SPJ.nomer_detali = P.nomer_detali\n\t\t\tJOIN spasoi_ekz.j J\n\t\t\t  ON SPJ.nomer_izdelia = J.nomer_izdelia\nWHERE J.nazvanie = LOWER('\u041f\u0430\u043d\u043d\u043e 01-03')\nGROUP BY cvet;\n</syntaxhighlight>\n</div>\n</div>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u0418 \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043e\u0442 \u043d\u0435\u043d\u0430\u0432\u0438\u0441\u0442\u043d\u0438\u043a\u0430 JOIN''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT P.cvet, SUM(SPJ.kolichestvo)\nFROM spasoi_ekz.p P,\n     spasoi_ekz.spj SPJ,\n     spasoi_ekz.j J\nWHERE P.nomer_detali = SPJ.nomer_detali\n  AND J.nomer_izdelia = SPJ.nomer_izdelia\n  AND J.nazvanie = LOWER('\u041f\u0430\u043d\u043d\u043e 01-03')\nGROUP BY P.cvet;\n</syntaxhighlight>\n</div>\n</div>\n\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n  \u0426\u0432\u0435\u0442  | \u0414\u0435\u0442\u0430\u043b\u0435\u0439\n -------+---------\n  \u0431\u0435\u043b\u044b\u0439 |       9\n  \u0441\u0435\u0440\u044b\u0439 |       5\n (2 rows)\n\n=== \u0411\u0438\u043b\u0435\u0442 17 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u043d\u043e\u043c\u0435\u0440\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432 \u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0445 \u0438\u043c\u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u043e\u043a \u043f\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0438, \u0447\u0442\u043e \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u0447\u0438\u0441\u043b\u043e \u0434\u0435\u0442\u0430\u043b\u0435\u0439 \u0432\u043e \u0432\u0441\u0435\u0445 \u044d\u0442\u0438\u0445 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0430\u0445 \u0431\u043e\u043b\u044c\u0448\u0435 1000.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT nomer_postavshika AS \"\u041d\u043e\u043c\u0435\u0440 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430\",\n       COUNT(*) AS \"\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u043e\u043a\"\nFROM spasoi_ekz.spj\nGROUP BY nomer_postavshika HAVING AVG(kolichestvo) > 1000;\n</syntaxhighlight>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u0415\u0449\u0451 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT nomer_postavshika AS \"\u041d\u043e\u043c\u0435\u0440 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430\", COUNT(*) AS \"\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u043e\u043a\"\nFROM spasoi_ekz.spj\nWHERE nomer_postavshika IN (\n                            SELECT nomer_postavshika\n                            FROM spasoi_ekz.spj\n                            GROUP BY nomer_postavshika HAVING AVG(kolichestvo) > 1000\n                           )\nGROUP BY nomer_postavshika;\n</syntaxhighlight>\n</div>\n</div>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u0418 \u0435\u0449\u0451 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT nomer_postavshika AS \"\u041d\u043e\u043c\u0435\u0440 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430\", COUNT(*) AS \"\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u043e\u043a\"\nFROM spasoi_ekz.spj\nWHERE (\n       SELECT AVG(kolichestvo)\n       FROM spasoi_ekz.spj X\n       WHERE X.nomer_postavshika = spj.nomer_postavshika\n       ) > 1000\nGROUP BY nomer_postavshika;\n</syntaxhighlight>\n</div>\n</div>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u0418 \u0434\u0430\u0436\u0435 \u0435\u0449\u0451 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT nom AS \"\u041d\u043e\u043c\u0435\u0440 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430\", cnt AS \"\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u043e\u043a\"\nFROM (\n      SELECT S.nomer_postavshika AS nom,\n             COUNT(SPJ.nomer_postavshika) AS cnt,\n             AVG(SPJ.kolichestvo) AS kol\n      FROM spasoi_ekz.s S, spasoi_ekz.spj SPJ\n      WHERE S.nomer_postavshika = SPJ.nomer_postavshika\n      GROUP BY S.nomer_postavshika\n     ) A\nWHERE kol > 1000;\n</syntaxhighlight>\n</div>\n</div>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n  \u041d\u043e\u043c\u0435\u0440 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430 | \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u043e\u043a\n ------------------+---------------------\n  S13              |                   1\n  S6               |                   7\n  S14              |                   1\n  S15              |                   1\n (4 rows)\n\n=== \u0411\u0438\u043b\u0435\u0442 18 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432, \u0438\u043c\u0435\u044e\u0449\u0438\u0445 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 1000 \u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445 \u0434\u0435\u0442\u0430\u043b\u044c \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c '\u0413\u0430\u0439\u043a\u0430 01-01' \u0434\u043b\u044f \u0438\u0437\u0434\u0435\u043b\u0438\u044f \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c '\u0412\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434 03-04' \u0432 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 (\u0432 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0435) \u0431\u043e\u043b\u044c\u0448\u0438\u043c, \u0447\u0435\u043c \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u043e\u0431\u044a\u0451\u043c \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438, \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u043e\u0439 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430\u043c\u0438 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c '\u0418\u0432\u0430\u043d\u043e\u0432'.\n\n\n[[\u0424\u0430\u0439\u043b:2nd dufficulty.png|center]]\n\n\n<p align=\"center\"><font size=\"5px\">'''\u0412\u0442\u043e\u0440\u043e\u0439 \u043f\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0437\u0430\u043f\u0440\u043e\u0441 \u044d\u043a\u0437\u0430\u043c\u0435\u043d\u0430!'''</font></p>\n\n<p align=\"center\"><font size=\"4px\">'''\u0412\u043e\u0442 \u0443\u0436 \u043d\u0435 \u0441\u0432\u0435\u0437\u043b\u043e, \u0442\u0430\u043a \u043d\u0435 \u0441\u0432\u0435\u0437\u043b\u043e'''</font></p>\n\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT imya\nFROM spasoi_ekz.s S JOIN spasoi_ekz.spj SPJ\n                      ON SPJ.nomer_postavshika = S.nomer_postavshika\n                    JOIN spasoi_ekz.p P\n                      ON P.nomer_detali = SPJ.nomer_detali\n                    JOIN spasoi_ekz.j J\n                      ON J.nomer_izdelia = SPJ.nomer_izdelia\nWHERE sostoyanie > 1000\n  AND P.nazvanie = LOWER('\u0413\u0430\u0439\u043a\u0430 01-01')\n  AND J.nazvanie = LOWER('\u0412\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434 03-04')\n  AND kolichestvo > (\n                     SELECT AVG(kolichestvo)\n                     FROM spasoi_ekz.spj SPJ JOIN spasoi_ekz.s S\n                       ON SPJ.nomer_postavshika = S.nomer_postavshika \n                     WHERE S.imya = '\u0418\u0432\u0430\u043d\u043e\u0432' -- \u0438\u043b\u0438 WHERE S.imya LIKE '%\u0418\u0432\u0430\u043d\u043e\u0432%',\n                     -- \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0441\u043a\u0430\u0437\u0430\u043d\u043e, \u0447\u0442\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430\u043c\u0438 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c \u0418\u0432\u0430\u043d\u043e\u0432,\n                     -- \u0430 \u044d\u0442\u043e \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0440\u0430\u0437\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u0430 \u0438 \u043e\u0442\u0447\u0435\u0441\u0442\u0432\u0430. \u041a\u043e\u0440\u043e\u0447\u0435, \u043e\u043f\u044f\u0442\u044c \u0432\u0435\u043b\u0438\u043a\u0438\u0439\n                     -- \u0440\u0443\u0441\u0441\u043a\u0438\u0439 \u044f\u0437\u044b\u043a \u0432 \u0437\u0430\u0434\u0430\u043d\u0438\u0438 - \u0447\u0442\u043e \u0435\u0449\u0451 \u0437\u0430 \"\u0441 \u0438\u043c\u0435\u043d\u0435\u043c \u0418\u0432\u0430\u043d\u043e\u0432\"\n                    );\n</syntaxhighlight>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u0418 \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043e\u0442 \u043d\u0435\u043d\u0430\u0432\u0438\u0441\u0442\u043d\u0438\u043a\u0430 JOIN:''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT imya\nFROM spasoi_ekz.s S,\n     spasoi_ekz.spj SPJ,\n     spasoi_ekz.p P,\n     spasoi_ekz.j J\nWHERE SPJ.nomer_postavshika = S.nomer_postavshika\n  AND SPJ.nomer_detali = P.nomer_detali\n  AND SPJ.nomer_izdelia=J.nomer_izdelia\n  AND S.sostoyanie > 1000\n  AND P.nazvanie = LOWER('\u0413\u0430\u0439\u043a\u0430 01-01')\n  AND J.nazvanie = LOWER('\u0412\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434 03-04')\n  AND kolichestvo > (\n                     SELECT AVG(kolichestvo)\n                     FROM spasoi_ekz.spj SPJ2, spasoi_ekz.S S2\n\t\t     WHERE S2.nomer_postavshika = SPJ2.nomer_postavshika\n\t\t       AND S2.imya LIKE '%\u0418\u0432\u0430\u043d\u043e\u0432%'\n\t\t    );\n</syntaxhighlight>\n</div>\n</div>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n     imya\n -------------\n  \u041f\u0435\u0442\u0440\u043e\u0432 \u041f\u0451\u0442\u0440\n (1 row)\n\n=== \u0411\u0438\u043b\u0435\u0442 19 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043a\u0440\u0430\u0441\u043d\u044b\u0445 \u0434\u0435\u0442\u0430\u043b\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0445\u043e\u0434\u044f\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0438\u0437\u0434\u0435\u043b\u0438\u0435 \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c '\u0420\u0430\u043c\u0430 02-03' \u0432 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435, \u043c\u0435\u043d\u044c\u0448\u0435\u043c 10 \u0435\u0434\u0438\u043d\u0438\u0446 \u0432 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0435.\n\n\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435: \u0413\u0440\u0438\u0433\u043e\u0440\u044c\u0435\u0432 \u0440\u0443\u0433\u0430\u0435\u0442\u0441\u044f \u043d\u0430 X.nomer_detali = SPJ.nomer_detali \u041b\u0443\u0447\u0448\u0435 \u0432\u043e \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u043c \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0434\u0436\u043e\u0439\u043d p \u0438 \u043f\u0440\u0438\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0434\u0435\u0442\u0430\u043b\u0435\u0439. \n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n<syntaxhighlight lang=\"sql\">\nSELECT DISTINCT X.nazvanie\nFROM spasoi_ekz.p X JOIN spasoi_ekz.spj SPJ\n                      ON SPJ.nomer_detali = X.nomer_detali\nWHERE X.cvet = '\u043a\u0440\u0430\u0441\u043d\u044b\u0439'\n  AND kolichestvo < 10\n  AND NOT EXISTS (\n                  SELECT *\n                  FROM spasoi_ekz.j J JOIN spasoi_ekz.spj SPJ\n                                        ON SPJ.nomer_izdelia = J.nomer_izdelia\n                  WHERE J.nazvanie != LOWER('\u0420\u0430\u043c\u0430 02-03')\n                    AND X.nomer_detali = SPJ.nomer_detali\n                 );\n</syntaxhighlight>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u0415\u0449\u0451 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u044d\u0442\u043e\u0433\u043e \u0436\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT P.nazvanie\nFROM spasoi_ekz.spj SPJ JOIN spasoi_ekz.p P\n                          ON SPJ.nomer_detali = P.nomer_detali\n                             AND cvet = '\u043a\u0440\u0430\u0441\u043d\u044b\u0439'\n                        JOIN spasoi_ekz.j J\n                          ON SPJ.nomer_izdelia = J.nomer_izdelia\n                              AND J.nazvanie = LOWER('\u0420\u0430\u043c\u0430 02-03')\nWHERE kolichestvo < 10\n  AND SPJ.nomer_detali NOT IN (\n                               SELECT nomer_detali\n                               FROM spasoi_ekz.spj SPJ JOIN spasoi_ekz.j J\n                                                         ON SPJ.nomer_izdelia = J.nomer_izdelia\n                                                            AND J.nazvanie != LOWER('\u0420\u0430\u043c\u0430 02-03')\n                              );\n</syntaxhighlight>\n</div>\n</div>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n     nazvanie\n ----------------\n  \u0443\u0441\u0438\u043b\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u043c\u0430\n (1 row)\n\n=== \u0411\u0438\u043b\u0435\u0442 20 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432, \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445 \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u0435\u043b\u044b\u0435 \u0434\u0435\u0442\u0430\u043b\u0438.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT imya\nFROM spasoi_ekz.s S JOIN spasoi_ekz.spj SPJ\n                      ON SPJ.nomer_postavshika = S.nomer_postavshika\nWHERE NOT EXISTS (\n                  SELECT *\n                  FROM spasoi_ekz.spj SPJ JOIN spasoi_ekz.p P\n                                            ON P.nomer_detali = SPJ.nomer_detali\n                  WHERE nomer_postavshika = S.nomer_postavshika\n                    AND P.cvet != '\u0431\u0435\u043b\u044b\u0439'\n                 );\n</syntaxhighlight>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u0415\u0449\u0451 \u043e\u0434\u0438\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u044d\u0442\u043e\u0433\u043e \u0436\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT imya\nFROM spasoi_ekz.spj SPJ JOIN spasoi_ekz.p P\n                          ON SPJ.nomer_detali = P.nomer_detali\n                             AND cvet = '\u0431\u0435\u043b\u044b\u0439'\n                        JOIN spasoi_ekz.s S\n                          ON SPJ.nomer_postavshika = S.nomer_postavshika\nWHERE S.nomer_postavshika NOT IN (\n                                  SELECT nomer_postavshika\n                                  FROM spasoi_ekz.spj SPJ JOIN spasoi_ekz.p P\n                                                            ON SPJ.nomer_detali = P.nomer_detali\n                                                               AND cvet != '\u0431\u0435\u043b\u044b\u0439'\n                                 );\n</syntaxhighlight>\n</div>\n</div>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u0418 \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u044d\u0442\u043e\u0433\u043e \u0436\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT imya\nFROM spasoi_ekz.s\nWHERE nomer_postavshika NOT IN  (\n                                 SELECT spj.nomer_postavshika\n                                 FROM spasoi_ekz.spj SPJ, spasoi_ekz.p P\n                                 WHERE SPJ.nomer_detali = P.nomer_detali\n                                   AND p.cvet != '\u0431\u0435\u043b\u044b\u0439'\n                                )\n  AND nomer_postavshika  IN (\n                             SELECT spj.nomer_postavshika\n                             FROM spasoi_ekz.spj SPJ, spasoi_ekz.p P\n                             WHERE SPJ.nomer_detali = P.nomer_detali\n                               AND p.cvet = '\u0431\u0435\u043b\u044b\u0439'\n                            );\n</syntaxhighlight>\n</div>\n</div>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u0418 \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043e\u0442 \u043d\u0435\u043d\u0430\u0432\u0438\u0441\u0442\u043d\u0438\u043a\u0430 JOIN''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT imya\nFROM spasoi_ekz.s S, spasoi_ekz.spj SPJ2\nWHERE SPJ2.nomer_postavshika = S.nomer_postavshika\n  AND NOT EXISTS (\n                  SELECT *\n                  FROM spasoi_ekz.p P, spasoi_ekz.spj SPJ\n                  WHERE SPJ.nomer_detali = P.nomer_detali\n                    AND SPJ.nomer_postavshika = SPJ2.nomer_postavshika\n                    AND P.cvet != '\u0431\u0435\u043b\u044b\u0439'\n                 );\n</syntaxhighlight>\n</div>\n</div>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n       imya\n -----------------\n  \u0420\u0435\u043d\u0434\u0438\u043b\u043b \u0422\u0430\u0440\u043b\u0438\n  \u0421\u044d\u043c\u0432\u0435\u043b\u043b \u0422\u0430\u0440\u043b\u0438\n  \u041c\u0435\u043b\u0438\u0441\u0441\u0430 \u0424\u043b\u043e\u0440\u0435\u043d\u0442\n  \u0422\u043e\u043c\u043c\u0438 \u0412\u0435\u0440\u0441\u0435\u0442\u0442\u0438\n (4 rows)\n\n=== \u0411\u0438\u043b\u0435\u0442 21 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0438\u0437\u0434\u0435\u043b\u0438\u0439, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u0435\u0442\u0430\u043b\u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c 'S1'.\n\n\u0427\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e, \u0432\u043e\u0437\u044c\u043c\u0451\u043c \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430 \u043d\u0435 'S1', \u0430 'S18', \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u0441\u043e\u0437\u0434\u0430\u043d \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u0415\u0441\u043b\u0438 \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c 'S1', \u0442\u043e \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0441\u0442\u0438 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u043e \u043d\u0430\u0448\u0435\u0439 \u0441\u0445\u0435\u043c\u0435 \u0411\u0414 \u044d\u0442\u043e\u0442 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u043f\u043e\u0434 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \"''\u0442\u043e\u043b\u044c\u043a\u043e \u0438 \u0442\u043e\u043b\u044c\u043a\u043e''\", \u0438 \u0437\u0430\u043f\u0440\u043e\u0441 \u0432\u0435\u0440\u043d\u0451\u0442 \u043f\u0443\u0441\u0442\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442.\n\n\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435: \u0413\u0440\u0438\u0433\u043e\u0440\u044c\u0435\u0432 \u0440\u0443\u0433\u0430\u0435\u0442\u0441\u044f \u043d\u0430 nomer_izdelia = J.nomer_izdelia \u041b\u0443\u0447\u0448\u0435 \u0432\u043e \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u043c \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0434\u0436\u043e\u0439\u043d j \u0438 \u043f\u0440\u0438\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0438\u0437\u0434\u0435\u043b\u0438\u0439, \u0430 \u043d\u0435 \u043d\u043e\u043c\u0435\u0440\u0430.\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT nazvanie\nFROM spasoi_ekz.j\nWHERE NOT EXISTS (\n                  SELECT *\n                  FROM spasoi_ekz.spj\n                  WHERE nomer_postavshika != 'S18'\n                    AND nomer_izdelia = J.nomer_izdelia\n                 )\n  AND NOT EXISTS (\n                  SELECT *\n                  FROM spasoi_ekz.spj\n                  WHERE nomer_postavshika = 'S18'\n                    AND nomer_izdelia != J.nomer_izdelia\n                 );\n</syntaxhighlight>\n\n\u0412\u0430\u0440\u0438\u0430\u043d\u0442 \u043f\u043e\u043a\u043e\u0440\u043e\u0447\u0435:\n\n<syntaxhighlight lang=\"sql\">\nSELECT j1.nazvanie FROM spasoi_ekz.j j1\nWHERE NOT EXISTS(\n  SELECT * FROM spasoi_ekz.spj s1\n  JOIN spasoi_ekz.j j2 ON s1.nomer_izdelia = j2.nomer_izdelia\n  WHERE (s1.nomer_postavshika = 'S18' \n        AND j2.nomer_izdelia != j1.nomer_izdelia)\n  OR    (s1.nomer_postavshika != 'S18' \n        AND j2.nomer_izdelia = j1.nomer_izdelia)\n);\n</syntaxhighlight>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n       nazvanie\n --------------------\n  \u043a\u0438\u043d\u0436\u0430\u043b\n (1 row)\n\n=== \u0411\u0438\u043b\u0435\u0442 22 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u0442\u0430\u043b\u0438 \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c 'P1' \u0434\u043b\u044f \u0438\u0437\u0434\u0435\u043b\u0438\u044f \u0441 \u0438\u043c\u0435\u043d\u0435\u043c '\u0428\u0442\u0443\u0446\u0435\u0440 01-02'.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n<syntaxhighlight lang=\"sql\">\nSELECT imya\nFROM spasoi_ekz.spj SPJ JOIN spasoi_ekz.j J\n                          ON SPJ.nomer_izdelia = J.nomer_izdelia\n                             AND J.nazvanie = LOWER('\u0428\u0442\u0443\u0446\u0435\u0440 01-02')\n                        JOIN spasoi_ekz.s S\n                          ON SPJ.nomer_postavshika = S.nomer_postavshika\nWHERE NOT EXISTS (\n                  SELECT *\n                  FROM spasoi_ekz.spj X JOIN spasoi_ekz.j J\n                                          ON X.nomer_izdelia = J.nomer_izdelia\n                  WHERE X.nomer_detali != 'P1' \n                    AND J.nazvanie = LOWER('\u0428\u0442\u0443\u0446\u0435\u0440 01-02')\n                    AND X.nomer_postavshika = S.nomer_postavshika\n                 );\n</syntaxhighlight>\n\n<!-- \u043d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 - \u043d\u043e\u043c\u0435\u0440 \u0438\u0437\u0434\u0435\u043b\u0438\u044f, \u0430 \u043d\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\nSELECT imya FROM S X\nJOIN SPJ Y ON X.nomer_postavshika=Y.nomer_postavshika\nWHERE X.nomer_postavshika NOT IN (\n                  SELECT DISTINCT nomer_postavshika FROM SPJ Z\n                  WHERE Z.nomer_izdelia != '\u0428\u0442\u0443\u0446\u0435\u0440 01-02'\n                  AND Z.nomer_detali!='P1');-->\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u042d\u0442\u043e\u0442 \u0436\u0435 \u0437\u0430\u043f\u0440\u043e\u0441, \u043d\u043e \u0434\u043b\u0438\u043d\u043d\u0435\u0435 \u0438 \u043d\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0435\u0439''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT imya\nFROM spasoi_ekz.spj SPJ JOIN spasoi_ekz.j J\n                          ON SPJ.nomer_izdelia = J.nomer_izdelia\n                             AND J.nazvanie = LOWER('\u0428\u0442\u0443\u0446\u0435\u0440 01-02')\n                        JOIN spasoi_ekz.p P\n                          ON SPJ.nomer_detali = P.nomer_detali\n                             AND SPJ.nomer_detali = 'P1'\n                        JOIN spasoi_ekz.s S\n                          ON SPJ.nomer_postavshika = S.nomer_postavshika\nWHERE SPJ.nomer_postavshika NOT IN (\n                                    SELECT nomer_postavshika\n                                    FROM spasoi_ekz.spj SPJ JOIN spasoi_ekz.j J\n                                                              ON SPJ.nomer_izdelia = J.nomer_izdelia\n                                                                 AND J.nazvanie = LOWER('\u0428\u0442\u0443\u0446\u0435\u0440 01-02')\n                                                            JOIN spasoi_ekz.p P\n                                                              ON SPJ.nomer_detali = P.nomer_detali\n                                                                 AND SPJ.nomer_detali != 'P1'\n                              );\n</syntaxhighlight>\n</div>\n</div>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n     imya\n -------------\n  \u041f\u0435\u0442\u0440\u043e\u0432 \u0418\u0432\u0430\u043d\n (1 row)\n\n=== \u0411\u0438\u043b\u0435\u0442 23 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0434\u0435\u0442\u0430\u043b\u044c \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c '\u0412\u0438\u043d\u0442' \u0432 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u043c 100 \u0435\u0434\u0438\u043d\u0438\u0446 \u0432 \u043e\u0434\u043d\u043e\u0439 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0435 \u0438 \u0438\u043c\u0435\u044e\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u0440\u0435\u0434\u043d\u0435\u0433\u043e \u043f\u043e \u0438\u0445 \u0440\u043e\u0434\u043d\u043e\u043c\u0443 \u0433\u043e\u0440\u043e\u0434\u0443.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n<syntaxhighlight lang=\"sql\">\nSELECT S.imya\nFROM spasoi_ekz.s S JOIN spasoi_ekz.spj SPJ\n                      ON S.nomer_postavshika = SPJ.nomer_postavshika\n                    JOIN spasoi_ekz.p P\n                      ON P.nomer_detali = SPJ.nomer_detali\nWHERE P.nazvanie = LOWER('\u0412\u0438\u043d\u0442')\n  AND SPJ.kolichestvo > 100\n  AND S.sostoyanie > (\n                      SELECT AVG(SS.sostoyanie)\n                      FROM spasoi_ekz.s SS\n                      WHERE SS.gorod = S.gorod\n                     );\n</syntaxhighlight>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n     imya\n -------------\n  \u041f\u0435\u0442\u0440\u043e\u0432 \u041f\u0451\u0442\u0440\n (1 row)\n\n=== \u0411\u0438\u043b\u0435\u0442 24 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0435\u0442\u0430\u043b\u0435\u0439 \u0438 \u043e\u0431\u0449\u0435\u0435 \u0438\u0445 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0439 \u0434\u0435\u0442\u0430\u043b\u0435\u0439, \u0438\u0437\u0433\u043e\u0442\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0432 \u043e\u0434\u043d\u043e\u043c \u0433\u043e\u0440\u043e\u0434\u0435.\n\n<!-- \u0421 \u044d\u0442\u0438\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 - \u0437\u0430\u0434\u0430\u043d\u0438\u0435 \u0442\u043e \u043b\u0438 \u043d\u0435\u043f\u043e\u043b\u043d\u043e\u0435, \u0442\u043e \u043b\u0438 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0435, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u043f\u043e \u043d\u0435\u043c\u0443 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c.\n\n\u0422\u0430\u043a \u0447\u0442\u043e \u0442\u0443\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 (\u043a\u0442\u043e \u043a\u0430\u043a \u043f\u043e\u043d\u044f\u043b).\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u041f\u0435\u0440\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430''\n<div class=\"mw-collapsible-content\">\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT nazvanie, kol\nFROM spasoi_ekz.p A, (\n                      SELECT X.gorod, SUM(kolichestvo) as kol\n                      FROM spasoi_ekz.p X, spasoi_ekz.spj Y\n                      WHERE Y.nomer_detali = X.nomer_detali\n                      GROUP BY X.gorod\n                     ) B\nWHERE A.gorod = B.gorod;\n</syntaxhighlight>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n        nazvanie       | kol\n ----------------------+------\n  \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043a\u0430            |    9\n  \u0441\u0442\u043e\u0439\u043a\u0430               |    9\n  \u0430\u0431\u0430\u0436\u0443\u0440               |    9\n  \u0433\u0430\u0439\u043a\u0430                |  139\n  \u043e\u0441\u044c                  |   60\n  \u0437\u0443\u0431\u0447\u0430\u0442\u043e\u0435 \u043a\u043e\u043b\u0435\u0441\u043e      |   60\n  \u0442\u0440\u0430\u043d\u0437\u0438\u0441\u0442\u043e\u0440           |   50\n  \u043f\u0435\u0447\u0430\u0442\u043d\u0430\u044f \u043f\u043b\u0430\u0442\u0430       |   50\n  \u0434\u0438\u043e\u0434                 |   50\n  \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u0430\u044f \u0434\u0435\u0442\u0430\u043b\u044c |   13\n  \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u0434\u0435\u0442\u0430\u043b\u044c    |   14\n  \u0431\u043e\u043b\u0442                 | 9137\n  \u0440\u0430\u043c\u0430                 |   69\n  \u043a\u043e\u043b\u0435\u0441\u043e               |   69\n  \u0432\u0442\u0443\u043b\u043a\u0430               |   69\n  \u0431\u0443\u043c\u0430\u0433\u0430               | 3122\n  \u043f\u043b\u0438\u0442\u043a\u0430               |   14\n  \u043e\u0440\u043d\u0430\u043c\u0435\u043d\u0442             |   14\n  \u0443\u0433\u043e\u043b\u043e\u043a               |   14\n  \u0433\u0430\u0439\u043a\u0430 01-01          |   27\n  \u0443\u0441\u0438\u043b\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u043c\u0430       |   10\n  \u0432\u0438\u043d\u0442                 | 9137\n  \u0442\u0440\u0443\u0441\u0435\u043b\u044f              |    1\n  \u0448\u0442\u0443\u0446\u0435\u0440\u043d\u0430\u044f \u0434\u0435\u0442\u0430\u043b\u044c     |   10\n  \u0448\u0443\u0440\u0443\u043f                |  139\n (25 rows)\n</div>\n</div>\n\u0438 -->\n\u0412 \u0443\u0442\u043e\u0447\u043d\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u0413\u0440\u0438\u0433\u043e\u0440\u044c\u0435\u0432 \u0441\u043a\u0430\u0437\u0430\u043b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435: \"''\u0421\u043b\u0435\u0434\u0443\u0435\u0442 \u0443\u0447\u0435\u0441\u0442\u044c, \u0447\u0442\u043e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u0433\u043e\u0440\u043e\u0434\u0430 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f, \u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0437\u0430\u043d\u0435\u0441\u0435\u043d\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0430''\".\n\n\u0422\u043e \u0435\u0441\u0442\u044c, \u0432\u043e\u043e\u0431\u0449\u0435 \u0433\u043e\u0432\u043e\u0440\u044f, \u0437\u0430\u0434\u0430\u043d\u0438\u0435 \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0435\u043f\u043e\u043b\u043d\u043e\u0435, \u0438 \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0442\u0440\u0430\u043a\u0442\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u043a: \u0432\u044b\u0434\u0430\u0442\u044c \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0435\u0442\u0430\u043b\u0435\u0439 \u0438 \u043e\u0431\u0449\u0435\u0435 \u0438\u0445 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0439 \u0434\u0435\u0442\u0430\u043b\u0435\u0439, \u0438\u0437\u0433\u043e\u0442\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0432 \u0433\u043e\u0440\u043e\u0434\u0435 <code>%\u041d\u0410\u0417\u0412\u0410\u041d\u0418\u0415\u0413\u041e\u0420\u041e\u0414\u0410%</code>. \u0412\u043e\u0442 \u044d\u0442\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f \u0433\u0434\u0435-\u0442\u043e \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435, \u0430 \u0432 \u0411\u0414 \u0438\u0434\u0451\u0442 \u0437\u0430\u043f\u0440\u043e\u0441 \u0441 \u0443\u0436\u0435 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c. \n\n\u042d\u0442\u043e\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u041b\u043e\u043d\u0434\u043e\u043d\u0430. \n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT nazvanie, SUM(kolichestvo)\nFROM spasoi_ekz.spj SPJ JOIN spasoi_ekz.p\n                          ON SPJ.nomer_detali = P.nomer_detali\nWHERE gorod = '\u041b\u043e\u043d\u0434\u043e\u043d'\nGROUP BY nazvanie;\n</syntaxhighlight>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n  nazvanie | sum\n ----------+-----\n  \u0433\u0430\u0439\u043a\u0430    |  71\n  \u0448\u0443\u0440\u0443\u043f    |  68\n (2 rows)\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u0422\u043e \u0436\u0435, \u0447\u0442\u043e \u0432\u044b\u0448\u0435, \u043d\u043e \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0433\u043e\u0440\u043e\u0434\u043e\u0432:''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT gorod, nazvanie, SUM(kolichestvo) FROM spasoi_ekz.spj\nJOIN spasoi_ekz.p ON spj.nomer_detali = nomer_detali\nGROUP BY gorod, nazvanie\nORDER BY gorod;\n</syntaxhighlight>\n</div>\n</div>\n\n=== \u0411\u0438\u043b\u0435\u0442 25 ===\n\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432, \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445 \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u043d\u0443 \u0431\u0435\u043b\u0443\u044e \u0434\u0435\u0442\u0430\u043b\u044c \u0434\u043b\u044f \u0438\u0437\u0434\u0435\u043b\u0438\u044f \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c '\u0412\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434 01-04' \u0441 \u043e\u0431\u044a\u0451\u043c\u043e\u043c \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u043c, \u0447\u0435\u043c \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u043e\u0431\u044a\u0451\u043c \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT imya\nFROM spasoi_ekz.s S JOIN spasoi_ekz.spj SPJ\n                      ON SPJ.nomer_postavshika = S.nomer_postavshika\n                    JOIN spasoi_ekz.p P\n                      ON P.nomer_detali = SPJ.nomer_detali\n                    JOIN spasoi_ekz.j J\n                      ON J.nomer_izdelia = SPJ.nomer_izdelia\nWHERE cvet = '\u0431\u0435\u043b\u044b\u0439'\n  AND J.nazvanie = LOWER('\u0412\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434 01-04')\n  AND kolichestvo > (\n                     SELECT AVG(kolichestvo)\n                     FROM spasoi_ekz.spj SPJ\n                     WHERE SPJ.nomer_postavshika = S.nomer_postavshika\n                    );\n</syntaxhighlight>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n     imya\n -------------\n  \u041f\u0435\u0442\u0440\u043e\u0432 \u041f\u0451\u0442\u0440\n (1 row)\n\n=== \u0411\u0438\u043b\u0435\u0442 26 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u043d\u043e\u043c\u0435\u0440\u0430 \u043a\u0440\u0430\u0441\u043d\u044b\u0445 \u0434\u0435\u0442\u0430\u043b\u0435\u0439 \u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u043e\u043a \u044d\u0442\u0438\u0445 \u0434\u0435\u0442\u0430\u043b\u0435\u0439.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT P.nomer_detali AS \"\u041d\u043e\u043c\u0435\u0440 \u0434\u0435\u0442\u0430\u043b\u0438\", COUNT(kolichestvo) AS \"\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u043e\u043a \u0441 \u043d\u0435\u0439\"\nFROM spasoi_ekz.p P, spasoi_ekz.spj SPJ\nWHERE P.nomer_detali = SPJ.nomer_detali\n  AND cvet = '\u043a\u0440\u0430\u0441\u043d\u044b\u0439'\nGROUP BY P.nomer_detali;   \n</syntaxhighlight>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u042d\u0442\u043e\u0442 \u0436\u0435 \u0437\u0430\u043f\u0440\u043e\u0441 \u0447\u0435\u0440\u0435\u0437 JOIN''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT SPJ.nomer_detali AS \"\u041d\u043e\u043c\u0435\u0440 \u0434\u0435\u0442\u0430\u043b\u0438\", COUNT(kolichestvo) AS \"\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u043e\u043a \u0441 \u043d\u0435\u0439\"\nFROM spasoi_ekz.spj SPJ JOIN spasoi_ekz.p P\n                          ON SPJ.nomer_detali = P.nomer_detali\n                             AND cvet = '\u043a\u0440\u0430\u0441\u043d\u044b\u0439'\nGROUP BY SPJ.nomer_detali;\n</syntaxhighlight>\n</div>\n</div>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n  \u041d\u043e\u043c\u0435\u0440 \u0434\u0435\u0442\u0430\u043b\u0438 | \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u043e\u043a \u0441 \u043d\u0435\u0439\n --------------+---------------------------\n  P15          |                         3\n  P22          |                         1\n  P24          |                         1\n (3 rows)\n\n=== \u0411\u0438\u043b\u0435\u0442 27 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u0433\u043e\u0440\u043e\u0434\u043e\u0432 \u0438 \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0433\u043e\u0440\u043e\u0434\u0430, \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445 \u0434\u0435\u0442\u0430\u043b\u0438 \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c '\u0413\u0430\u0439\u043a\u0430 01-01' \u0434\u043b\u044f \u0438\u0437\u0434\u0435\u043b\u0438\u044f \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c '\u0412\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434 03-04' \u0432 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 (\u0432 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0435) \u0431\u043e\u043b\u044c\u0448\u0438\u043c, \u0447\u0435\u043c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u044a\u0451\u043c \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438, \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u043e\u0439 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u043c \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c 'S1'.\n\n\n[[\u0424\u0430\u0439\u043b:1st dufficulty.png|center]]\n\n\n<p align=\"center\"><font size=\"7px\">'''\u0421\u043b\u043e\u0436\u043d\u0435\u0439\u0448\u0438\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u044d\u043a\u0437\u0430\u043c\u0435\u043d\u0430!'''</font></p>\n\n<p align=\"center\"><font size=\"5px\">'''\u0421\u043e\u0445\u0440\u0430\u043d\u0438 \u0414\u0436\u0430 \u0432\u044b\u0442\u0430\u0449\u0438\u0442\u044c \u0442\u0430\u043a\u043e\u0435'''</font></p>\n\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT S.gorod AS \"\u0413\u043e\u0440\u043e\u0434\", AVG(S.sostoyanie) AS \"\u0421\u0440\u0435\u0434\u043d\u0435\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\"\nFROM spasoi_ekz.s S JOIN spasoi_ekz.spj SPJ\n                      ON SPJ.nomer_postavshika = S.nomer_postavshika\n                    JOIN spasoi_ekz.p P\n                      ON P.nomer_detali = SPJ.nomer_detali\n                    JOIN spasoi_ekz.j J\n                      ON J.nomer_izdelia = SPJ.nomer_izdelia\nWHERE P.nazvanie = LOWER('\u0413\u0430\u0439\u043a\u0430 01-01')\n  AND J.nazvanie = LOWER('\u0412\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434 03-04')\n  AND kolichestvo > (\n                     SELECT MIN(kolichestvo)\n                     FROM spasoi_ekz.spj\n                     WHERE nomer_postavshika = 'S1'\n                    )\nGROUP BY S.gorod;\n\n</syntaxhighlight>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n    \u0413\u043e\u0440\u043e\u0434   |   \u0421\u0440\u0435\u0434\u043d\u0435\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\n -----------+-----------------------\n  \u041c\u044b\u0442\u0438\u0449\u0438    |    35000.500000000000\n  \u0419\u043e\u043a\u043e\u0433\u0430\u043c\u0430  |  1500000.000000000000\n  \u041c\u0430\u043d\u0447\u0435\u0441\u0442\u0435\u0440 | 2571.0000000000000000\n (3 rows)\n\n=== \u0411\u0438\u043b\u0435\u0442 28 ===\n\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0438\u0437\u0434\u0435\u043b\u0438\u0439, \u043a\u0443\u0434\u0430 \u0432\u0445\u043e\u0434\u0438\u0442 \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u043d\u0430 \u043a\u0440\u0430\u0441\u043d\u0430\u044f \u0434\u0435\u0442\u0430\u043b\u044c \u0432\u0435\u0441\u043e\u043c \u0431\u043e\u043b\u044c\u0448\u0435 10 \u0433\u0440\u0430\u043c\u043c\u043e\u0432, \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u0430\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u043c \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c 'S1'.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT J.nazvanie\nFROM spasoi_ekz.j J JOIN spasoi_ekz.spj SPJ1\n                      ON J.nomer_izdelia = SPJ1.nomer_izdelia\n                    JOIN spasoi_ekz.p P\n                      ON P.nomer_detali = SPJ1.nomer_detali\nWHERE P.ves > 10\n AND P.cvet = '\u043a\u0440\u0430\u0441\u043d\u044b\u0439'\n AND NOT EXISTS (\n                 SELECT SPJ2.nomer_postavshika\n                 FROM spasoi_ekz.spj SPJ2         \n                 WHERE SPJ2.nomer_detali = P.nomer_detali\n\t \t   AND SPJ2.nomer_postavshika != 'S1'\n                );                     \n</syntaxhighlight>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n     nazvanie\n -----------------\n  \u043a\u0440\u0443\u0436\u0435\u0432\u043d\u043e\u0435 \u0431\u0435\u043b\u044c\u0451\n (1 row)\n\n=== \u0411\u0438\u043b\u0435\u0442 29 ===\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0434\u0435\u0442\u0430\u043b\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0445\u043e\u0434\u044f\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u0438\u0437\u0434\u0435\u043b\u0438\u044f \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c '\u0428\u0442\u0443\u0446\u0435\u0440 01-03'.\n\n\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435: \u0413\u0440\u0438\u0433\u043e\u0440\u044c\u0435\u0432 \u0440\u0443\u0433\u0430\u0435\u0442\u0441\u044f \u043d\u0430 SPJ.nomer_detali = P.nomer_detali \u041b\u0443\u0447\u0448\u0435 \u0432\u043e \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u043c \u043f\u043e\u0434\u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0434\u0436\u043e\u0439\u043d p \u0438 \u043f\u0440\u0438\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0434\u0435\u0442\u0430\u043b\u0435\u0439. \n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n\n<syntaxhighlight lang=\"sql\">\nSELECT DISTINCT nazvanie\nFROM spasoi_ekz.p\nWHERE NOT EXISTS (\n                  SELECT SPJ.nomer_izdelia\n                  FROM spasoi_ekz.spj SPJ JOIN spasoi_ekz.j J\n                                            ON J.nomer_izdelia = SPJ.nomer_izdelia\n                  WHERE (\n                         J.nazvanie != LOWER('\u0428\u0442\u0443\u0446\u0435\u0440 01-03')\n                         AND\n                         SPJ.nomer_detali = P.nomer_detali\n                        )\n                     OR (\n                         J.nazvanie = LOWER('\u0428\u0442\u0443\u0446\u0435\u0440 01-03')\n                         AND\n                         SPJ.nomer_detali != P.nomer_detali\n                        )\n                 );\n</syntaxhighlight>\n\n<div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u0415\u0449\u0451 \u043e\u0434\u0438\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u044d\u0442\u043e\u0433\u043e \u0436\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT nazvanie\nFROM spasoi_ekz.p P1\nWHERE NOT EXISTS (\n                  SELECT *\n                  FROM spasoi_ekz.spj SPJ JOIN spasoi_ekz.p P2\n                                            ON SPJ.nomer_detali = P.nomer_detali\n                                          JOIN spasoi_ekz.j J\n                                            ON J.nomer_izdelia = SPJ.nomer_izdelia\n                  WHERE (\n                         P1.nazvanie = P2.nazvanie AND nazvanie!='\u0428\u0442\u0443\u0446\u0435\u0440'\n                         )\n                  OR (\n                         P1.nazvanie != P2.nazvanie AND nazvanie='\u0428\u0442\u0443\u0446\u0435\u0440'\n                 );\n</syntaxhighlight>\n</div>\n</div>\n\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n      nazvanie\n ------------------\n  \u0448\u0442\u0443\u0446\u0435\u0440\u043d\u0430\u044f \u0434\u0435\u0442\u0430\u043b\u044c\n (1 row)\n\n=== \u0411\u0438\u043b\u0435\u0442 30 ===\n\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 SELECT: \u0432\u044b\u0434\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442, \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435, \u0432\u0441\u0435 \u0442\u0435 \u0434\u0435\u0442\u0430\u043b\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c 'S2'.\n\n\u0422\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\n<syntaxhighlight lang=\"sql\">\nSELECT DISTINCT imya\nFROM spasoi_ekz.s S\nWHERE NOT EXISTS (\n                  SELECT nomer_detali\n                  FROM spasoi_ekz.spj SPJY\n                  WHERE nomer_postavshika = 'S2'\n                    AND NOT EXISTS (\n                                    SELECT *\n                                    FROM spasoi_ekz.spj\n                                    WHERE nomer_postavshika = S.nomer_postavshika\n                                      AND nomer_detali = SPJY.nomer_detali\n                                   )\n                 );\n</syntaxhighlight>\n<!-- <div class=\"toccolours mw-collapsible mw-collapsed\">\n''\u0415\u0449\u0451 \u0432\u0430\u0440\u0438\u0430\u043d\u0442''\n<div class=\"mw-collapsible-content\">\n<syntaxhighlight lang=\"sql\">\nSELECT DISTINCT imya\nFROM spasoi_ekz.spj SPJ\nWHERE NOT EXISTS (\n    (SELECT DISTINCT nomer_detali FROM spasoi_ekz.spj WHERE nomer_postavshika = 'S2')\n    EXCEPT\n    (SELECT DISTINCT nomer_detali FROM spasoi_ekz.spj WHERE nomer_postavshika = SPJ.nomer_postavshika)\n)\nAND nomer_postavshika != 'S2'\n</syntaxhighlight>\n</div>\n</div> -->\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:\n\n  imya\n ------------\n  \u041e\u0448\u0430\n  \u0411\u0440\u0430\u043d \u0421\u0442\u0430\u0440\u043a\n (2 rows)\n[[\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f:\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0410\u0421\u041e\u0418 (10 \u0441\u0435\u043c\u0435\u0441\u0442\u0440)]]"
                    }
                ]
            },
            "303": {
                "pageid": 303,
                "ns": 0,
                "title": "Twitter-\u043b\u0435\u043d\u0442\u0430",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "\u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c [[\u0424\u0430\u0439\u043b:Twitter-bird.png | 25px | link=https://twitter.com/iu5bmstu]][https://twitter.com/iu5bmstu -\u0430\u043a\u043a\u0430\u0443\u043d\u0442].\n\n<s>[[\u0424\u0430\u0439\u043b:RSS.png | 55px | link=https://api.twitter.com/1/statuses/user_timeline.rss?screen_name=iu5bmstu]]-[https://api.twitter.com/1/statuses/user_timeline.rss?screen_name=iu5bmstu \u043b\u0435\u043d\u0442\u0430] \u043d\u0430\u0448\u0435\u0433\u043e \u0422\u0432\u0438\u0442\u0442\u0435\u0440-\u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430. \u0412\u0441\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u0442\u0430\u043c.</s> [[\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0412\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u0435 | \u0443\u0436\u0435 \u043d\u0435\u0442]].\n\n<!--\n\u041e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0422\u0432\u0438\u0442\u0442\u0435\u0440\u0430 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043f\u0440\u043e\u0449\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u043d\u043e\u0432\u043e\u0441\u0442\u0438. \u0422\u0430\u043a\u0436\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0432\u043e\u0434\u0438\u0442\u044c \u0448\u0435\u0441\u0442\u044c \u0440\u0430\u0437\u043d\u044b\u0445 RSS-\u043b\u0435\u043d\u0442, \u043f\u043e \u043e\u0434\u043d\u043e\u0439 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u0443\u0440\u0441\u0430 - \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c [http://en.wikipedia.org/wiki/Hashtag \u0445\u044d\u0448-\u0442\u0435\u0433\u0438].\n\n\u0410 \u0432\u043e\u0442 \u0438 \u043e\u043d\u0438:\n{| class=\"wikitable\"\n ! \u041a\u0443\u0440\u0441 !! \u0425\u044d\u0448-\u0442\u0435\u0433\n |-\n |- align=\"center\"\n | 1 \u043a\u0443\u0440\u0441 || [https://twitter.com/search/?q=%23iu5_1k&src=hash \u0441\u0441\u044b\u043b\u043a\u0430]\n |- align=\"center\"\n | 2 \u043a\u0443\u0440\u0441 || [https://twitter.com/search/?q=%23iu5_2k&src=hash \u0441\u0441\u044b\u043b\u043a\u0430]\n |- align=\"center\"\n | 3 \u043a\u0443\u0440\u0441 || [https://twitter.com/search/?q=%23iu5_3k&src=hash \u0441\u0441\u044b\u043b\u043a\u0430]\n |- align=\"center\"\n | 4 \u043a\u0443\u0440\u0441 || [https://twitter.com/search/?q=%23iu5_4k&src=hash \u0441\u0441\u044b\u043b\u043a\u0430]\n |- align=\"center\"\n | 5 \u043a\u0443\u0440\u0441 || [https://twitter.com/search/?q=%23iu5_5k&src=hash \u0441\u0441\u044b\u043b\u043a\u0430]\n |- align=\"center\"\n | 6 \u043a\u0443\u0440\u0441 || [https://twitter.com/search/?q=%23iu5_6k&src=hash \u0441\u0441\u044b\u043b\u043a\u0430]\n|}\n\n\u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u043a\u0430\u043a\u0430\u044f-\u043b\u0438\u0431\u043e \u043d\u043e\u0432\u043e\u0441\u0442\u044c, \u0442\u043e \u043d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0442\u0432\u0438\u0442 \u0441 \u043d\u0443\u0436\u043d\u044b\u043c \u0445\u044d\u0448-\u0442\u0435\u0433\u043e\u043c. \u041f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u0435\u043b\u0435\u0441\u0442\u044c, \u0434\u043e \u0447\u0435\u0433\u043e \u0432\u0441\u0451 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u043e\u0441\u0442\u043e. \u041e\u0434\u043d\u0430\u043a\u043e \u0438\u043c\u0435\u0439\u0442\u0435 \u0432 \u0432\u0438\u0434\u0443, \u0447\u0442\u043e \u043f\u043e\u0438\u0441\u043a \u043f\u043e \u0445\u044d\u0448-\u0442\u0435\u0433\u0443 \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0432\u0441\u0435 \u0442\u0432\u0438\u0442\u044b - \u0442\u0430\u043a\u043e\u0432\u044b \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0441\u0430\u043c\u043e\u0433\u043e \u0422\u0432\u0438\u0442\u0442\u0435\u0440\u0430: \u0438\u0445 \"\u0441\u0432\u0435\u0440\u0445\u0431\u044b\u0441\u0442\u0440\u043e\u0439 \u0411\u0414\", \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0446\u0438\u0438 \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0430\u043d\u0442\u0438\u0441\u043f\u0430\u043c\u0430.\n\n-->\n\n[[\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f:\u041f\u043e\u0440\u0442\u0430\u043b]]"
                    }
                ]
            }
        }
    }
}