πŸ§™MagicSQLπŸ’»
160 subscribers
185 photos
7 files
10 links
Π’ΠΎΠΉΠ΄ΠΈ Π² ΠΌΠΈΡ€ SQL ΠΈ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ с ΠΌΠΎΠΈΠΌ ΠΊΠ°Π½Π°Π»ΠΎΠΌ. Π˜Π·ΡƒΡ‡Π°ΠΉ, примСняй ΠΈ прСуспСвай. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, Π·Π°Π΄Π°Ρ‡ΠΈ, тСсты, Ρ€Π°Π·Π±ΠΎΡ€Ρ‹ ΠΈ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅.
#SQL #Π±Π°Π·Ρ‹Π΄Π°Π½Π½Ρ‹Ρ… #postgresql
Download Telegram
ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ Ρ‚Π°ΠΊ сильно цСнятся компаниями?

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

1. ΠŸΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ оптимизация: Аналитики Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ статистичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ… для прогнозирования Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… Ρ‚Ρ€Π΅Π½Π΄ΠΎΠ² ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ². Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ компаниям ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ€Ρ‹ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свою Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΠ±Ρ‹Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

2. Поиск Ρ‚ΠΎΡ‡Π΅ΠΊ роста: Аналитики Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ компаниям ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ€Ρ‹Π½ΠΎΡ‡Π½Ρ‹Π΅ возмоТности ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ клиСнтскиС сСгмСнты. Они Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»Π΅ΠΉ, Ρ‚Ρ€Π΅Π½Π΄Π°Ρ… Ρ€Ρ‹Π½ΠΊΠ° ΠΈ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΎΠΉ срСдС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ принСсти ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½Ρ‹Π΅ прСимущСства.

3. ΠŸΡ€ΠΈΠ½ΡΡ‚ΠΈΠ΅ обоснованных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ: Аналитики Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ„Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ компаниям ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ обоснованныС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Они Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ†Π΅Π½Π½Ρ‹Π΅ инсайты, Π½Π° основС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ ваТнСйшиС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

4. Анализ эффСктивности: Аналитики ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ компаниям ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ своих ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ процСссов. Они ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ для выявлСния ΡƒΠ·ΠΊΠΈΡ… мСст ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Ρ… областСй, Ρ‡Ρ‚ΠΎ позволяСт компаниям ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ€Ρ‹ ΠΈ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ своСй Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠšΠΎΡ€ΠΎΡ‡Π΅ говоря, Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊ Π΄Π°Π½Π½Ρ‹Ρ… являСтся ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ элСмСнтом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ компаниям ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свою Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ успСха Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅.
❀4
Ѐункция OVERLAY Π² SQL.
ΠŸΡ€ΠΈΠ²Π΅Ρ‚, расскаТу ΠΏΡ€ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками.

Ѐункция OVERLAY Π² PostgreSQL ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π·Π°ΠΌΠ΅Π½Ρ‹ части строки Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ строки. Она Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²ΡƒΡŽ строку, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ указанная подстрока замСняСт ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ подстроку.

Ѐункция OVERLAY ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:

OVERLAY(string PLACING overlay_string FROM 8 FOR 5);
Π³Π΄Π΅:

- string - столбСц ΠΈΠ»ΠΈ исходная строка, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ
- PLACING - ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΊΠ°ΠΊΡƒΡŽ Π½ΠΎΠ²ΡƒΡŽ подстроку слСдуСт ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ
- overlay_string - новая подстрока, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ слСдуСт Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ подстроку
- FROM 8 - позиция, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ начинаСтся Π·Π°ΠΌΠ΅Π½Π° подстроки
- FOR 5 - сколько символов ΠΌΡ‹ мСняСм Π½Π° Π½ΠΎΠ²ΡƒΡŽ подстроку

НапримСр, Ссли Ρƒ нас Π΅ΡΡ‚ΡŒ строка 'Hello, world and people!', ΠΈ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ подстроку 'world' Π½Π° 'PostgreSQL', Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ OVERLAY ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

SELECT OVERLAY('Hello, world and people!' PLACING 'PostgreSQL' FROM 8 FOR 5);

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ: 'Hello, PostgreSQL and people!'

Ѐункция OVERLAY Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для вставки Π½ΠΎΠ²ΠΎΠΉ подстроки Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ мСсто Π² строкС ΠΈΠ»ΠΈ для удалСния части строки. Она прСдоставляСт Π³ΠΈΠ±ΠΊΠΎΠ΅ срСдство для манипуляции с подстроками Π² PostgreSQL.
❀3πŸ‘1
ВсСм, ΠΏΡ€ΠΈΠ²Π΅Ρ‚.

ΠŸΡ€ΠΈ использовании Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠ° VARCHAR, PostgreSQL ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π°Π»Π»ΠΎΠΊΠ°Ρ†ΠΈΡŽ памяти для хранСния фактичСской Π΄Π»ΠΈΠ½Ρ‹ строки. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ строку Π΄Π»ΠΈΠ½ΠΎΠΉ 10 символов, Π½ΠΎ фактичСская Π΄Π»ΠΈΠ½Π° записанной строки составляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 5 символов, PostgreSQL выдСляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ количСство памяти для хранСния этих 5 символов.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Π’Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚Π΅ строку β€˜Hello’ Π² Ρ‚ΠΈΠΏΠ΅ VARCHAR (20). Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π‘Π£Π‘Π” потрСбуСтся памяти Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ количСство символов, Ρ€Π°Π²Π½ΠΎΠ΅ количСству Π² строкС β€˜Hello’.

CREATE TABLE vk (vk_id varchar (20))
INSERT INTO vk (vk_id)
VALUES ('Hello')
Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: 'Hello'

ΠŸΡ€ΠΈ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠ° CHAR ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ фиксированноС количСство памяти Ρ‚.ΠΊ. Ρ‚ΠΈΠΏ CHAR ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для хранСния строк фиксированной Π΄Π»ΠΈΠ½Ρ‹. Если Π² строку записываСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΊΠΎΡ€ΠΎΡ‡Π΅ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹, Ρ‚ΠΎ ΠΎΡΡ‚Π°Π²ΡˆΠ°ΡΡΡ Ρ‡Π°ΡΡ‚ΡŒ заполняСтся ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Π’Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚Π΅ строку β€˜Hello’ Π² Ρ‚ΠΈΠΏΠ΅ CHAR (20). Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π‘Π£Π‘Π” потрСбуСтся памяти Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ всС 20 символов, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΈ CHAR Ρ‚.ΠΊ. Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ 5 ΠΈ 20 символами заполнится ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ.

CREATE TABLE vk (vk_id char (20))
INSERT INTO vk (vk_id)
VALUES ('Hello')
Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: 'Hello_______________'

Однако, ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ сравнСния, сортировки ΠΈΠ»ΠΈ поиска ΠΏΠΎ значСниям VARCHAR, PostgreSQL всС Ρ€Π°Π²Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ строк. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Ρ€Π°Π·ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, особСнно Ссли столбСц с Ρ‚ΠΈΠΏΠΎΠΌ VARCHAR содСрТит большоС количСство строк с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π΄Π»ΠΈΠ½Π°ΠΌΠΈ. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ использовании фиксированного Ρ€Π°Π·ΠΌΠ΅Ρ€Π° строки, прСдоставляСмого Ρ‚ΠΈΠΏΠΎΠΌ CHAR.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ CHAR ΠΈ VARCHAR, слСдуСт ΡƒΡ‡Π΅ΡΡ‚ΡŒ прСимущСства ΠΈ ограничСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π² контСкстС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠΉ структуры Π΄Π°Π½Π½Ρ‹Ρ… Π² вашСй Ρ‚Π°Π±Π»ΠΈΡ†Π΅.
❀3πŸ‘1
Π”Ρ€ΡƒΠ·ΡŒΡ, ΠΏΡ€ΠΈΠ²Π΅Ρ‚. Π’ Π΄Π°Π½Π½ΠΎΠΌ опросС Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ вопрос с собСсСдования Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Аналитик. ΠŸΡ€ΠΈ использовании ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΈΠ· JOIN получится мСньшС всСго строк Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅?
Anonymous Quiz
14%
CROSS JOIN
18%
LEFT OUTER JOIN
55%
INNER JOIN
14%
FULL OUTER JOIN
ВсСм, ΠΏΡ€ΠΈΠ²Π΅Ρ‚πŸ–
😁4πŸ‘2
Π’ΠΎΠΏ 1 способ вывСсти ΠΏΠ΅Ρ€Π²Ρ‹Π΅ нСсколько строк Π² SQL Π±Π΅Π· Π»ΠΈΡˆΠ½ΠΈΡ… слоТностСй (строк: ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ значСния ΠΏΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ сортировки).

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ FETCH FIRST ROW WITH TIES Π² PostgreSQL ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для извлСчСния ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ значСния ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ сортировки. Если нСсколько строк ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ значСния Π² ΠΏΠΎΠ»Π΅ сортировки, всС ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Ρ‹.

Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈ избавляСт нас ΠΎΡ‚ подзапросов ΠΈ использования ΠΎΠΊΠΎΠ½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.
❀3πŸ‘3
4 способа ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ NULL Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² SQL.

1. IS NULL ΠΈ IS NOT NULL: Π­Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, являСтся Π»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ NULL ΠΈΠ»ΠΈ Π½Π΅Ρ‚ Π² условиях WHERE.

2. COALESCE: Ѐункция COALESCE ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π·Π°ΠΌΠ΅Π½Ρ‹ NULL-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Она ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ список Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· списка Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

3. NULLIF: Ѐункция NULLIF ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для сравнСния Π΄Π²ΡƒΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Если значСния Ρ€Π°Π²Π½Ρ‹, функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ NULL, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС - ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

4. CASE WHEN: ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ CASE WHEN позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ условныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² зависимости ΠΎΡ‚ значСния столбца. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ NULL-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.
❀2πŸ‘1
ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° использования индСксов Π² SQL.

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚. РасскаТу ΠΏΡ€ΠΎ индСксы Π² SQL.

Π˜Π½Π΄Π΅ΠΊΡΡ‹ Π² SQL - это структуры Π΄Π°Π½Π½Ρ‹Ρ…, создаваСмыС для ускорСния выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ поиска, сортировки ΠΈ объСдинСния Π² Π±Π°Π·Π°Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π˜Ρ… основная Ρ†Π΅Π»ΡŒ - ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ запросов, ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя выполнСния ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° сСрвСр.

ИспользованиС индСксов Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько прСимущСств:

1. УскорСниС поиска: Π˜Π½Π΄Π΅ΠΊΡΡ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с большСй ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ систСма ΠΌΠΎΠΆΠ΅Ρ‚ быстро Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ записи с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ индСкса ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ просмотра всСй Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

2. Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ запросов: Π˜Π½Π΄Π΅ΠΊΡΡ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€Ρƒ запросов Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ эффСктивныС ΠΏΠ»Π°Π½Ρ‹ выполнСния запросов, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‚ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°ΡŽΡ‚ количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° дискС.

3. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…: Π˜Π½Π΄Π΅ΠΊΡΡ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ сортировку Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ столбцу. Они ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ значСния ΠΈ создадут ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ столбца ΠΊ ΠΈΡ… физичСским позициям Π½Π° дискС.

Π’ Ρ†Π΅Π»ΠΎΠΌ, использованиС индСксов являСтся Π²Π°ΠΆΠ½Ρ‹ΠΌ инструмСнтом для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ускорСния выполнСния запросов. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ эффСктивно Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ сортировку.
❀2πŸ‘1
Нормализация Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² SQL.

Нормализация Π² SQL - это процСсс ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ структурирования Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… для достиТСния эффСктивности ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ избыточности Π΄Π°Π½Π½Ρ‹Ρ…. Она Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ† Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΠΈ связанныС Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ†Π΅Π»ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² SQL ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

1. УстранСниС ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ ΠΈ избыточности Π΄Π°Π½Π½Ρ‹Ρ…: Нормализация ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, избСгая дублирования ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Ρ€Π°Π·Π½Ρ‹Ρ… частях Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

2. Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ структуры Π΄Π°Π½Π½Ρ‹Ρ…: Благодаря Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… становится логичСски структурированной, Ρ‡Ρ‚ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ.

3. Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: Нормализация ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ мСньшиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ связи ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ запросы Π±ΠΎΠ»Π΅Π΅ эффСктивно.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ пСрвая Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° (1NF), вторая Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° (2NF), Ρ‚Ρ€Π΅Ρ‚ΡŒΡ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° (3NF) ΠΈ Ρ‚. Π΄. КаТдая Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ‚ свои ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ уровня Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

ΠžΠ±Ρ‰Π°Ρ идСя Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ каТдая Ρ‚Π°Π±Π»ΠΈΡ†Π° содСрТала Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ записи ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ аспСктС Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ хранСния ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ обСспСчиваСт Π»ΡƒΡ‡ΡˆΡƒΡŽ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² долгосрочной пСрспСктивС.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… публикациях расскаТу простым языком ΠΏΡ€ΠΎ Ρ‚Ρ€ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹.
πŸ”₯4❀1
ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°ΠΌΠΈ запрос Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…. Наша Π·Π°Π΄Π°Ρ‡Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π°Ρ‚Ρƒ Π·Π°ΠΊΠ°Π·Π° ΠΈ Π΄Π°Ρ‚Ρƒ ΠΎΡ‚Π³Ρ€ΡƒΠ·ΠΊΠΈ для Ρ‚Π΅Ρ… Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠΎΠ², Ρ‡Π΅ΠΉ id = 5.

UPDATE orders SET order_date = '2001-01-01', shipped_date = '2001-01-15' WHERE employee_id = 5 Π§Ρ‚ΠΎ Π½ΠΈ Ρ‚Π°ΠΊ Π² Π΄Π°Π½Π½ΠΎΠΌ запросС?
Anonymous Quiz
14%
Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ SET нСльзя ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ значСния сразу Π΄Π²ΡƒΡ… ΠΏΠΎΠ»Π΅ΠΉ
36%
ПослС UPDATE Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово TABLE
14%
Π’ Π΄Π°Π½Π½ΠΎΠΌ запросС всС Ρ‚Π°ΠΊ
36%
Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ SET Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ AND ΠΌΠ΅ΠΆΠ΄Ρƒ значСниями измСняСмых ΠΏΠΎΠ»Π΅ΠΉ вмСсто запятой
Π”Ρ€ΡƒΠ·ΡŒΡ, ΠΏΡ€ΠΈΠ²Π΅Ρ‚. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ» Ρ€Π°Π·Π±ΠΎΡ€ Ρ‚Ρ€Π΅Ρ… ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ для Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π‘Π”. ΠŸΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»ΡΡŽ Ρ‚Ρ€ΠΈ Ρ„Π°ΠΉΠ»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сдСлал Ρ€Π°Π·Π±ΠΎΡ€ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ. НайдитС поТалуйста врСмя, ΠΏΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅. Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ внСсти Π½Π΅ΠΊΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π² эту Π½Π΅ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ.

Π’Ρ€ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠ΅Ρ€Π²Π°Ρ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° (1NF) – значСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ поля Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΎ Π½Π° составныС части Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ смысла. КаТдоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ являСтся минимальной Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ обСспСчиваСт ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ.

Вторая Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° (2NF) – КаТдоС ΠΏΠΎΠ»Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ составного ΠΊΠ»ΡŽΡ‡Π°, Π° Π½Π΅ ΠΎΡ‚ Π΅Π³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ части. Если ΠΊΠ°ΠΊΠΎΠ΅ Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»Π΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ являСтся ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, зависит ΠΎΡ‚ части составного ΠΊΠ»ΡŽΡ‡Π°, Ρ‚ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π° Π½Π΅ находится Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅.

Π’Ρ€Π΅Ρ‚ΡŒΡ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° (3NF) – ВсС Π½Π΅ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ поля Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°. Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… зависимостСй.
Вранзитивная Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ – это ΠΊΠΎΠ³Π΄Π° поля Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π½Π΅ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ зависят ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ. Π­Ρ‚ΠΎΠ³ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ.
πŸ‘1
БтатистичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ SQL.

МоТно Π»ΠΈ Π² SQL ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ статистичСский Π°Π½Π°Π»ΠΈΠ·? МоТно.
Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ нСсколько популярных ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

corr ( Y column , X column ) - вычисляСт коэффициСнт коррСляции

regr_r2 ( Y column , X column ) - вычисляСт ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ коэффициСнта коррСляции

stddev ( column ) - вычисляСт стандартноС ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅

variance ( column ) - вычисляСт Π΄ΠΈΡΠΏΠ΅Ρ€ΡΠΈΡŽ
πŸ‘4πŸ‘1
SELECT 100 + NULL - Ρ‡Ρ‚ΠΎ получится Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚e?
Anonymous Quiz
0%
0
5%
101
50%
NULL
45%
100
Π”Ρ€ΡƒΠ·ΡŒΡ, ΠΏΡ€ΠΈΠ²Π΅Ρ‚!

Когда ΠΈΠ·ΡƒΡ‡Π°Π΅ΡˆΡŒ SQL часто встаСт вопрос Π½Π° Ρ‡Π΅ΠΌ Π±Ρ‹ ΠΏΠΎΡ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠ»ΠΈ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ°ΠΊΠΎΠΉ запрос ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Π΅Π΅? Π•ΡΡ‚ΡŒ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΡƒΡ‡Π΅Π±Π½Ρ‹Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡ… объСм нСдостаточСн для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ запрос Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π΅Π½ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы.

ΠŸΠΎΠΊΠ°ΠΆΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π΅ Ρ€Π°Π½Π΄ΠΎΠΌΠ½Ρ‹ΠΌΠΈ значСниями Π² 5 000 000 строк.

ЦСль – созданиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ events.

Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‚Ρ€ΠΈ поля:
user_id – ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ id ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°,
event_date – Π΄Π°Ρ‚Π° события,
event_type – Ρ‚ΠΈΠΏ события.
ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ Π΄Π°Ρ‚ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ с '2018-01-01' ΠΏΠΎ '2023-09-06'.
Π’ΠΈΠΏΡ‹ событий Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ: 'ΠΏΠΎΠΊΡƒΠΏΠΊΠ°', 'рСгистрация', 'посСщСниС', 'ΠΊΠ»ΠΈΠΊ'.

ΠŸΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΈ экспСримСнтируйтС!
πŸ”₯4❀1πŸ‘1