Результат 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]]"
}
]
}
}
}
}