π’ ΠΠ°ΠΊ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² SQL: ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΠΎΠ΄ΡΡΠ΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ²
Π§ΡΠΎΠ±Ρ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² SQL, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ PRODUCT. ΠΠ½Π° ΡΠΌΠ½ΠΎΠΆΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π²ΡΠ±ΠΎΡΠΊΠΈ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ:
SELECT PRODUCT(column_name) FROM table_name;
ΠΠΌΠ΅ΡΡΠΎ column_name ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠΎΠ»Π±ΡΠ°, Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΌΠ½ΠΎΠΆΠΈΡΡ. Π Π²ΠΌΠ΅ΡΡΠΎ table_name ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΠ±ΠΎΡΠΊΠ°.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² SQL
ΠΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ! Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² SQL. ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄Π°Π½Π½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ SQL Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠΌ Π²Π°ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ . ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ!
1. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ (*)
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² SQL - ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ (*). ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ:
SELECT column1, column2, column1 * column2 AS product FROM table;
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ column1 ΠΈ column2, ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΡΡΠΎΠ»Π±ΡΠ΅ product. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ column1 ΠΈ column2 Π½Π° Π½ΡΠΆΠ½ΡΠ΅ Π²Π°ΠΌ ΡΡΠΎΠ»Π±ΡΡ ΠΈ table Π½Π° Π²Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ.
2. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ SUM()
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π»Ρ Π³ΡΡΠΏΠΏΡ ΡΡΡΠΎΠΊ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ SUM(). ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ:
SELECT column1, column2, SUM(column1 * column2) AS product FROM table GROUP BY column1, column2;
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ column1 ΠΈ column2 Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΡΡΠΌΠΌΠΈΡΡΠ΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ column1 ΠΈ column2. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΡΡΠΎΠ»Π±ΡΠ΅ product. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ column1 ΠΈ column2 Π½Π° Π½ΡΠΆΠ½ΡΠ΅ Π²Π°ΠΌ ΡΡΠΎΠ»Π±ΡΡ ΠΈ table Π½Π° Π²Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ.
3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ JOIN
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ· ΡΠ°Π·Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ JOIN. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ:
SELECT t1.column1, t2.column2, t1.column1 * t2.column2 AS product
FROM table1 t1
JOIN table2 t2 ON t1.id = t2.id;
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ column1 ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ table1 ΠΈ column2 ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ table2 Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°ΡΡ ΡΡΡΠΎΠΊ, Π³Π΄Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ»Π±ΡΠ° id ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΡΡΠΎΠ»Π±ΡΠ΅ product.
4. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΠΎΠ²
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π² SQL. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ:
SELECT column1, column2, (SELECT column1 * column2 FROM table2 WHERE table2.id = table1.id) AS product FROM table1;
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΌΠ½ΠΎΠΆΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ column1 ΠΈ column2 ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ table2 Π΄Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ, Π³Π΄Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ»Π±ΡΠ° id ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ table1. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΠ° ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΡΡΠΎΠ»Π±ΡΠ΅ product.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² SQL. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΠΈΠ»ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΠΊ Π²Π°ΡΠΈΠΌ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌ ΠΈΠ»ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΊ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅. ΠΠ°ΠΏΡΠΎΡΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅, ΡΠ²Π»ΡΡΡΡΡ Π»ΠΈΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ, ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ Π΄ΠΎΡΡΠΈΡΡ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°. Π£ΡΠΏΠ΅Ρ ΠΎΠ² Π²Π°ΠΌ Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ SQL!