Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° эффСктивных ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ часто Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ получСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… источников ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π½Π΅ всСгда позволяСт вывСсти Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, особСнно ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½Ρ‹Π΅ разбросаны ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ рСгистрам ΠΈΠ»ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ. Π’ Ρ‚Π°ΠΊΠΈΡ… ситуациях Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ запроса Π² Π΅Π΄ΠΈΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ записСй для дальнСйшСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ.

БущСствуСт нСсколько Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ этой Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ свои области примСнСния ΠΈ ограничСния. Π’Ρ‹Π±ΠΎΡ€ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° зависит ΠΎΡ‚ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚ΠΈΠΏΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° (Π‘ΠšΠ” ΠΈΠ»ΠΈ обычная Ρ„ΠΎΡ€ΠΌΠ°) ΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы. ПониманиС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ объСдинСниСм являСтся критичСски Π²Π°ΠΆΠ½Ρ‹ΠΌ для написания чистого ΠΈ быстрого ΠΊΠΎΠ΄Π°.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ синтаксичСскиС конструкции, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡΠΊΠ»Π΅ΠΈΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, рассмотрим ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ошибок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ приводят ΠΊ падСнию ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ смоТСтС ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ знания Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… любой слоТности.

Π’Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ объСдинСниС Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· UNION Π’Π‘Π•

Π‘Π°ΠΌΡ‹ΠΉ распространСнный способ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… источников Π² ΠΎΠ΄ΠΈΠ½ список β€” это использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° UNION Π’Π‘Π•. Π­Ρ‚Π° конструкция позволяСт Β«ΡΠΊΠ»Π΅ΠΈΡ‚ΡŒΒ» Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… запросов Π΄Ρ€ΡƒΠ³ ΠΏΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΎΠΌ, увСличивая количСство строк Π² ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠΉ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ количСство ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΈΡ… Ρ‚ΠΈΠΏΡ‹ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΡ‹Ρ… запросов Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ.

ΠŸΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ структуры запроса систСма автоматичСски ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ Π·Π½Π°ΠΌΠ΅Π½Π°Ρ‚Π΅Π»ΡŽ. Если Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ запросС ΠΏΠΎΠ»Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ Число, Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ β€” Π‘Ρ‚Ρ€ΠΎΠΊΠ°, ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ составной Ρ‚ΠΈΠΏ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΠ»ΠΎΠΆΠ½ΠΈΡ‚ΡŒ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. Для прСдотвращСния нСявных ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ рСкомСндуСтся явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ Π² пустых Π²Ρ‹Π±ΠΎΡ€ΠΊΠ°Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π•Π‘Π’Π¬NULL ΠΈΠ»ΠΈ констант.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Π΄Π΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ ΠΈΠ· Π΄Π²ΡƒΡ… Ρ€Π°Π·Π½Ρ‹Ρ… справочников ΠΈΠ»ΠΈ рСгистров. ΠœΡ‹ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ запрос, Π·Π°Ρ‚Π΅ΠΌ ставим ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово объСдинСния ΠΈ пишСм Π²Ρ‚ΠΎΡ€ΠΎΠΉ запрос. Бинтаксис Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ»Π΅ΠΉ Π² ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π±Ρ€Π°Π»ΠΈΡΡŒ ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ запроса, поэтому псСвдонимы Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ части ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄Π²ΠΈΠΆΠΊΠΎΠΌ запросов.

ВЫБРАВЬ

НомСнклатура.Бсылка КАК НомСнклатура,

НомСнклатура.НаимСнованиС КАК НаимСнованиС

Π˜Π—

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура КАК НомСнклатура

ΠžΠ‘ΠͺΠ•Π”Π˜ΠΠ˜Π’Π¬ Π’Π‘Π•

ВЫБРАВЬ

Услуги.Бсылка,

Услуги.НаимСнованиС

Π˜Π—

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.Услуги КАК Услуги

ИспользованиС ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π’Π‘Π• критичСски Π²Π°ΠΆΠ½ΠΎ для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Если Π΅Π³ΠΎ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ удалСния Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ², Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°ΠΌ. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Π·Π°Π΄Π°Ρ‡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ 1Π‘ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹ Π»ΠΈΠ±ΠΎ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚, Π»ΠΈΠ±ΠΎ ΡƒΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π»ΠΎΠ³ΠΈΠΊΠΈ прилоТСния, поэтому ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ UNION Π’Π‘Π• являСтся стандартом Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ ΠΏΠΎΠ»Π΅ΠΉ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ… UNION Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ΠΌ. Если Π²Ρ‹ помСняСтС мСстами ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ запросС, систСма Π½Π΅ выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ синтаксиса, Π½ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠΏΠ°Π΄ΡƒΡ‚ Π² Π½Π΅Π²Π΅Ρ€Π½Ρ‹Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ логичСским ошибкам Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅.
πŸ’‘

ВсСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ UNION Π’Π‘Π• вмСсто простого UNION, Ссли Π²Π°ΠΌ Π½Π΅ трСбуСтся ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ строк. Π­Ρ‚ΠΎ ускорит Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ запроса Π² Ρ€Π°Π·Ρ‹ Π·Π° счСт ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° сравнСния ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π΄ΡƒΠ±Π»Π΅ΠΉ.

Π“ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ соСдинСниС Ρ‚Π°Π±Π»ΠΈΡ† с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JOIN

Когда Π·Π°Π΄Π°Ρ‡Π° стоит Π½Π΅ Π² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ строк, Π° Π² ΠΎΠ±ΠΎΠ³Π°Ρ‰Π΅Π½ΠΈΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… записСй Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈΠ· связанных Ρ‚Π°Π±Π»ΠΈΡ†, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ соСдинСния. Π’ языкС запросов 1Π‘ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ JOIN, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π³ΠΈΠ±ΠΊΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ записи ΠΏΠΎΠΏΠ°Π΄ΡƒΡ‚ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΡ€ΠΈ отсутствии связСй ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ.

НаиболСС часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π›Π•Π’ΠžΠ• Π‘ΠžΠ•Π”Π˜ΠΠ•ΠΠ˜Π• (LEFT JOIN). Оно Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ всС записи ΠΈΠ· Π»Π΅Π²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ добавляСт ΠΊ Π½ΠΈΠΌ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΏΡ€Π°Π²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ совпадСниС ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ. Если совпадСния Π½Π΅Ρ‚, поля ΠΈΠ· ΠΏΡ€Π°Π²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ значСниями NULL. Π­Ρ‚ΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для построСния ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ², Π³Π΄Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Π΄Π°ΠΆΠ΅ Ρ‚Π΅, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π΅Ρ‰Π΅ Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Ρ‹ двиТСния ΠΏΠΎ рСгистрам.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π»Π΅Π²ΠΎΠ³ΠΎ соСдинСния, ВНУВРЕННЕЕ Π‘ΠžΠ•Π”Π˜ΠΠ•ΠΠ˜Π• (INNER JOIN) оставляСт Π² Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ строки, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… нашлась ΠΏΠ°Ρ€Π° Π² ΠΎΠ±Π΅ΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…. Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ соСдинСния часто ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΠ³Π΄Π° нас ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ связь, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΠΎΠ²Π°Ρ€Ρ‹, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ мСсяцС.

  • πŸ”— Π›Π•Π’ΠžΠ• Π‘ΠžΠ•Π”Π˜ΠΠ•ΠΠ˜Π•: сохраняСт всС строки Π»Π΅Π²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, заполняя ΠΏΡ€Π°Π²ΡƒΡŽ пустотой ΠΏΡ€ΠΈ отсутствии связи.
  • 🀝 ВНУВРЕННЕЕ Π‘ΠžΠ•Π”Π˜ΠΠ•ΠΠ˜Π•: оставляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строки, Π³Π΄Π΅ связь сущСствуСт Π² ΠΎΠ±Π΅ΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ….
  • πŸ”„ ΠŸΠžΠ›ΠΠžΠ• Π‘ΠžΠ•Π”Π˜ΠΠ•ΠΠ˜Π•: сохраняСт всС строки ΠΈΠ· ΠΎΠ±Π΅ΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ†, заполняя пропуски нулями (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π΅Π΄ΠΊΠΎ ΠΈΠ·-Π·Π° слоТности).

ΠŸΡ€ΠΈ написании условий соСдинСния Π²Π°ΠΆΠ½ΠΎ Π²Ρ‹Π½ΠΎΡΠΈΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎ. Если условиС Π½Π° ΠΏΠΎΠ»Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΡΠ΅ΠΊΡ†ΠΈΡŽ Π“Π”Π•, ΠΎΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ Π»Π΅Π²ΠΎΠ΅ соСдинСниС Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅, ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π² строки с пустыми значСниями. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ являСтся Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΈΡ… условий нСпосрСдствСнно Π² сСкции ПО послС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова соСдинСния.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° коррСктности JOIN

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с БистСмой Компоновки Π”Π°Π½Π½Ρ‹Ρ… (Π‘ΠšΠ”)

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² Π½Π° Π±Π°Π·Π΅ Π‘ΠšΠ” ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ объСдинСния запросов ΠΈΠΌΠ΅Π΅Ρ‚ свою спСцифику. Π—Π΄Π΅ΡΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ часто сталкиваСтся с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ объСдинСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… нСзависимых Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠ΄ΠΈΠ½ основной Π½Π°Π±ΠΎΡ€. Π­Ρ‚ΠΎ дСлаСтся Ρ‡Π΅Ρ€Π΅Π· созданиС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ запроса Π² Π΄Π΅Ρ€Π΅Π²Π΅ запросов ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π΅Π³ΠΎ объСдинСниС с основным.

Π’ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ запроса систСма ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ объСдинСния. Для Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ слияния выбираСтся опция «ОбъСдинСниС». ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ здСсь β€” соотвСтствиС ΠΏΠΎΠ»Π΅ΠΉ. Если поля Π² Π½Π°Π±ΠΎΡ€Π°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏΡƒ, Π‘ΠšΠ” автоматичСски создаст Π½ΠΎΠ²Ρ‹Π΅ поля с суффиксами ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ Ρ‚ΠΈΠΏΡ‹, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΡ€Ρ‚ΠΈΡ‚ΡŒ структуру ΠΎΡ‚Ρ‡Π΅Ρ‚Π°.

Частая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ использовании ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΡ‹Ρ… запросах. Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ запросС, Π° Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ отсутствуСт, это ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ выполнСния ΠΈΠ»ΠΈ нСпрСдсказуСмоС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠ°ΠΊΠ΅Ρ‚Π°. РСшСниС Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² объявлСнии ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π² ΠΎΠ±ΠΎΠΈΡ… запросах, Π΄Π°ΠΆΠ΅ Ссли Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ… ΠΎΠ½ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² условиях ΠΎΡ‚Π±ΠΎΡ€Π°.

Π’ΠΈΠΏ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π“Π΄Π΅ примСняСтся ВрСбования ΠΊ полям ВлияниС Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ
UNION Π’Π‘Π• Π‘ΠΊΠ»Π΅ΠΉΠΊΠ° списков Π‘ΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΈ количСства Высокая (быстро)
LEFT JOIN Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ НаличиС ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΊΠ»ΡŽΡ‡Π° БрСдняя (зависит ΠΎΡ‚ индСксов)
Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ запрос Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΈ расчСты Π›ΡŽΠ±Ρ‹Π΅ Низкая (ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ΡŒ)

Для слоТных ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ², Π³Π΄Π΅ Π΄Π°Π½Π½Ρ‹Π΅ приходят ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π±Π°Π· ΠΈΠ»ΠΈ нСсвязанных подсистСм, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΡ‰Π΅ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСсколько нСзависимых Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π² Π‘ΠšΠ” ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΈΡ… ΡƒΠΆΠ΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Однако это услоТняСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

Π‘Π΅ΠΊΡ€Π΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π‘ΠšΠ”

Если ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΡ‹Π΅ запросы ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ условия ΠΎΡ‚Π±ΠΎΡ€Π° ΠΏΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρƒ ΠΈΠ»ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, вынСситС эти условия Π² ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ схСмы ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ систСмС запросов ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Π½ выполнСния ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ сканирования Ρ‚Π°Π±Π»ΠΈΡ†.

ОбъСдинСниС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π² ΠΊΠΎΠ΄Π΅ Π½Π° встроСнном языкС

Иногда возмоТности языка запросов нСдостаточно, ΠΈ трСбуСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ объСдинСниС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² нСпосрСдствСнно Π² ΠΊΠΎΠ΄Π΅ 1Π‘. Π­Ρ‚ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΏΠΎ слоТным Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ, Π½Π΅ описываСмым срСдствами SQL, ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° источники Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π½ΡƒΡŽ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, запрос ΠΊ Π±Π°Π·Π΅ ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°).

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ источника Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π° Π·Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ строк ΠΈΠ· Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ источника с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈΠ»ΠΈ цикличСского добавлСния. ΠŸΡ€ΠΈ этом Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ строго ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° порядком ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΈ ΠΈΡ… ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ автоматичСского привСдСния здСсь Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ объСдинСния Π΄Π²ΡƒΡ… Ρ‚Π°Π±Π»ΠΈΡ† Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ создаСм структуру ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π·Π°Ρ‚Π΅ΠΌ добавляСм ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ, Ссли ΠΈΡ… Π½Π΅Ρ‚, ΠΈ заполняСм Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, позволяя явно ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ строки Π² числа ΠΈΠ»ΠΈ Π΄Π°Ρ‚Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ записью.

Π’Π°Π±Π»ΠΈΡ†Π°Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Новый Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ;

Π’Π°Π±Π»ΠΈΡ†Π°Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("НомСнклатура", ВипОписанияВипов("БправочникБсылка.НомСнклатура"));

Π’Π°Π±Π»ΠΈΡ†Π°Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ", ВипОписанияВипов("Число(15,2)"));

// Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ источника

Для КаТдого Π‘Ρ‚Ρ€ΠΎΠΊΠ° Из Π’Π°Π±Π»ΠΈΡ†Π°1 Π¦ΠΈΠΊΠ»

НоваяБтрока = Π’Π°Π±Π»ΠΈΡ†Π°Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ();

НоваяБтрока.НомСнклатура = Π‘Ρ‚Ρ€ΠΎΠΊΠ°.НомСнклатура;

НоваяБтрока.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ = Π‘Ρ‚Ρ€ΠΎΠΊΠ°.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

Основной нСдостаток ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ объСдинСния β€” ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² записСй Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ сСрвСр 1Π‘ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΡ‡Π΅Ρ€ΠΏΠ°Ρ‚ΡŒ доступныС рСсурсы, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π‘Π£Π‘Π” справляСтся с Ρ‚Π°ΠΊΠΈΠΌΠΈ объСмами эффСктивнСС Π·Π° счСт дисковых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ»Π°Π½ΠΎΠ² выполнСния. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ объСдинСнии ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ… совмСстимы. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ строку Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ с Ρ‚ΠΈΠΏΠΎΠΌ «Число» Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ «НСвСрный Ρ‚ΠΈΠΏ значСния» ΠΈ ΠΏΡ€Π΅Ρ€Π²Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
πŸ“Š Как Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ всСго ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² 1Π‘?
Волько Ρ‡Π΅Ρ€Π΅Π· UNION Π² запросС
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ JOIN
ΠŸΠΈΡˆΡƒ ΠΊΠΎΠ΄ Π½Π° встроСнном языкС
ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΡŽ запросы ΠΈ ΠΊΠΎΠ΄

Π Π°Π±ΠΎΡ‚Π° с Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ ΠΈ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΌΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ

Для слоТных сцСнариСв, Π³Π΄Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ запроса становится основой для Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ, эффСктивно использованиС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†. Π’ языкС запросов 1Π‘ ΠΎΠ½ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ символа # Π² ΠΈΠΌΠ΅Π½ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π­Ρ‚ΠΎ позволяСт Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ объСдинСния Π½Π° этапы ΠΈ ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ происходит автоматичСски ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π½Π΅ΠΉ Π² тСкстС запроса. Π”Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти Π½Π° сСрвСрС 1Π‘. ΠŸΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ запросы ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ этой Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΊΠ°ΠΊ ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ написаниС ΠΊΠΎΠ΄Π° ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΠΈ объСдинСния.

Однако Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌΡƒ эффСкту. Если врСмСнная Ρ‚Π°Π±Π»ΠΈΡ†Π° слишком Π²Π΅Π»ΠΈΠΊΠ°, опСрация записи Π² Π½Π΅Π΅ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ чтСния ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π½ΡΡ‚ΡŒ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ слоТного запроса с Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ подзапросами. Баланс ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ β€” ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ Π½Π°Π²Ρ‹ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

ΠŸΡ€ΠΈ объСдинСнии Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ этих ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Они ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ сСссии ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ автоматичСски ΠΏΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ соСдинСния ΠΈΠ»ΠΈ явном Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ удалСния. НС рассчитывайтС Π½Π° ΡΠΎΡ…Ρ€Π°Π½Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ.

πŸ’‘

Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (#Π’Π°Π±Π»ΠΈΡ†Π°) β€” ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ инструмСнт для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ разбиСния слоТной Π»ΠΎΠ³ΠΈΠΊΠΈ, Π½ΠΎ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ запрос.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ

Одной ΠΈΠ· самых частых ошибок ΠΏΡ€ΠΈ объСдинСнии запросов являСтся ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ индСксов. Если Π²Ρ‹ соСдиняСтС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΠΎ полям, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌ индСксов Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎ тСкстовому ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡŽ ΠΈΠ»ΠΈ составному ΠΊΠ»ΡŽΡ‡Ρƒ Π±Π΅Π· ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ порядка), врСмя выполнСния запроса ΠΌΠΎΠΆΠ΅Ρ‚ вырасти ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ. ВсСгда провСряйтС ΠΏΠ»Π°Π½ выполнСния запроса Ρ‡Π΅Ρ€Π΅Π· консоль запросов.

Другая распространСнная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” нСявноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈ объСдинСнии. Когда систСма Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Π° ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π‘Ρ‚Ρ€ΠΎΠΊΡƒ ΠΊ Числу Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, это создаСт Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° процСссор. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ смСшСния Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΠ»Π΅, Ссли это Π½Π΅ трСбуСтся бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ явноС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π² запросС.

Π’Π°ΠΊΠΆΠ΅ стоит ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ объСдинСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ…, Ссли Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ 90% ΠΈΠ· Π½ΠΈΡ…. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π΅Π΅ сначала ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΡ‚Π±ΠΎΡ€Ρ‹ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· исходных запросов, ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ UNION. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ снизит объСм ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Π‘Π£Π‘Π” ΠΈ сСрвСром 1Π‘.

  • πŸš€ Анализ ΠΏΠ»Π°Π½Π° выполнСния: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «План выполнСния» Π² консоли запросов для поиска ΡƒΠ·ΠΊΠΈΡ… мСст.
  • πŸ“‰ Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Π΄ΠΎ объСдинСния: ΠžΡ‚ΡΠ΅ΠΊΠ°ΠΉΡ‚Π΅ лишниС Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ подзапросС ΠΏΠ΅Ρ€Π΅Π΄ склСйкой.
  • πŸ›  Π˜Π½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡ: Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ поля соСдинСния ΠΈ ΠΎΡ‚Π±ΠΎΡ€Π° проиндСксированы Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ конфигурация 1Π‘ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ, ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ запросов Π² Π½ΠΎΠ²Ρ‹Ρ… Ρ€Π΅Π»ΠΈΠ·Π°Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ. Π’ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π² вСрсии 8.3.10, ΠΌΠΎΠΆΠ΅Ρ‚ Π»Π΅Ρ‚Π°Ρ‚ΡŒ Π² 8.3.24 благодаря ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ компилятора запросов. РСгулярно тСстируйтС ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ Π½Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π”Π΅Ρ‚Π°Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€Π° запросов ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π‘Π£Π‘Π” (MSSQL, PostgreSQL, Oracle). Π’ΠΎ, Ρ‡Ρ‚ΠΎ эффСктивно для ΠΎΠ΄Π½ΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ для Π΄Ρ€ΡƒΠ³ΠΎΠΉ. ВсСгда ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅ тСсты Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅.
Π›Π°ΠΉΡ„Ρ…Π°ΠΊ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² ΠΊΠΎΠ½Π΅Ρ† запроса ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ "Π£ΠŸΠžΠ Π―Π”ΠžΠ§Π˜Π’Π¬ ПО" с ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΠ»Π΅ΠΌ. Π­Ρ‚ΠΎ часто ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Π°ΠΌΠΈ ΠΈΠ»ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ порядком слСдования записСй ΠΏΡ€ΠΈ объСдинСнии, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π²ΠΈΠ΄Π½Ρ‹ ΠΏΡ€ΠΈ Ρ…Π°ΠΎΡ‚ΠΈΡ‡Π½ΠΎΠΌ Π²Ρ‹Π²ΠΎΠ΄Π΅.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ UNION ΠΈ UNION Π’Π‘Π• Π² 1Π‘?

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ UNION выполняСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ удалСния Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ² строк ΠΈΠ· ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ сортировки ΠΈ сравнСния всСх Π΄Π°Π½Π½Ρ‹Ρ…. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ UNION Π’Π‘Π• просто склСиваСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π±Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, работая Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС. Π’ 1Π‘ ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ UNION Π’Π‘Π•.

МоТно Π»ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ запросы с Ρ€Π°Π·Π½Ρ‹ΠΌ количСством ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ?

НСт, это Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ синтаксиса. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΠΎΠ»Π΅ΠΉ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запросС, ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Π² объСдинСнии, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ строго ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ. Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ (ΠΈΠ»ΠΈ Π±Ρ‹Ρ‚ΡŒ совмСстимыми) Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… позициях.

Как ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Ссли Ρ‚ΠΈΠΏΡ‹ ΠΏΠΎΠ»Π΅ΠΉ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚?

НСобходимо ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ привСдСния Ρ‚ΠΈΠΏΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π•Π‘Π’Π¬NULL(ПолС, Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π—Π°ΠΌΠ΅Π½Ρ‹) ΠΈΠ»ΠΈ явноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² тСкстС запроса, Ρ‡Ρ‚ΠΎΠ±Ρ‹ привСсти ΠΎΠ±Π° поля ΠΊ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ составному Ρ‚ΠΈΠΏΡƒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ объСдинСния.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ запрос с JOIN Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ?

Π§Π°Ρ‰Π΅ всСго ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π² отсутствии индСксов ΠΏΠΎ полям соСдинСния ΠΈΠ»ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ порядкС Ρ‚Π°Π±Π»ΠΈΡ†. Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ условия ΠΎΡ‚Π±ΠΎΡ€Π° ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ вынСсСны Π² ΡΠ΅ΠΊΡ†ΠΈΡŽ Π“Π”Π• вмСсто ПО, Ρ‡Ρ‚ΠΎ мСняСт Π»ΠΎΠ³ΠΈΠΊΡƒ соСдинСния.

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ UNION Π² Π‘ΠšΠ” Π±Π΅Π· написания ΠΊΠΎΠ΄Π°?

Π”Π°, Π² Π΄Π΅Ρ€Π΅Π²Π΅ запросов схСмы ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ нСсколько запросов ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ связи «ОбъСдинСниС». БистСма автоматичСски сгСнСрируСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ ΠΊΠΎΠ΄ запроса с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ UNION Π’Π‘Π•.