127. UNION va UNION ALL farqi
O'rtachaAdvancedBeeline
Ikkita ro'yxat bor: prepaid va postpaid abonentlar. Ba'zi raqamlar
ikkala ro'yxatda ham bor, ba'zilari esa bitta ro'yxat ichida ham
takrorlangan.
Har bir raqam uchun ikkita sonni chiqaring:
all_rows—UNION ALLbilan birlashtirilganda o'sha raqam **necha
marta** uchraydi
distinct_rows—UNIONbilan birlashtirilganda necha marta
uchraydi (ya'ni har doim 1)
Shu ikki ustunni yonma-yon qo'yib, UNION takrorlarni olib tashlashini,
UNION ALL esa saqlab qolishini ko'rasiz.
Ustunlar: phone, distinct_rows, all_rows.
Saralash: all_rows kamayish, keyin phone o'sish.
prepaid: id INT PK, phone VARCHAR
postpaid: id INT PK, phone VARCHAR
Namuna ma'lumotlar
sample
prepaid
| idINT | phoneVARCHAR(13) |
|---|---|
| 1 | +998901111111 |
| 4 | +998901111111 |
| 6 | +998905555555 |
postpaid
| idINT | phoneVARCHAR(13) |
|---|---|
| 7 | +998901111111 |
| 2 | +998907777777 |
Kutilgan natija
| phone | all_rows | distinct_rows |
|---|---|---|
| +998901111111 | 3 | 1 |
| +998905555555 | 1 | 1 |
| +998907777777 | 1 | 1 |
sample-full
prepaid
| idINT | phoneVARCHAR(13) |
|---|---|
| 1 | +998901111111 |
| 2 | +998902222222 |
| 3 | +998903333333 |
| 4 | +998901111111 |
| 5 | +998904444444 |
| 6 | +998905555555 |
| 7 | +998906666666 |
postpaid
| idINT | phoneVARCHAR(13) |
|---|---|
| 1 | +998902222222 |
| 2 | +998907777777 |
| 3 | +998903333333 |
| 4 | +998908888888 |
| 5 | +998902222222 |
| 6 | +998909999999 |
| 7 | +998901111111 |
Kutilgan natija
| phone | all_rows | distinct_rows |
|---|---|---|
| +998901111111 | 3 | 1 |
| +998902222222 | 3 | 1 |
| +998903333333 | 2 | 1 |
| +998904444444 | 1 | 1 |
| +998905555555 | 1 | 1 |
| +998906666666 | 1 | 1 |
| +998907777777 | 1 | 1 |
| +998908888888 | 1 | 1 |
| +998909999999 | 1 | 1 |
sample-extra
prepaid
| idINT | phoneVARCHAR(13) |
|---|---|
| 4 | +964406061886 |
| 3 | +904990832490 |
| 5 | +986126161809 |
| 6 | +989167233456 |
| 2 | +989167233456 |
| 1 | +998233014835 |
postpaid
| idINT | phoneVARCHAR(13) |
|---|---|
| 3 | +951696697890 |
| 6 | +990922125025 |
| 2 | +949633633299 |
| 5 | +969529507193 |
| 4 | +950488281622 |
| 1 | +987887333976 |
Kutilgan natija
| phone | all_rows | distinct_rows |
|---|---|---|
| +989167233456 | 2 | 1 |
| +904990832490 | 1 | 1 |
| +949633633299 | 1 | 1 |
| +950488281622 | 1 | 1 |
| +951696697890 | 1 | 1 |
| +964406061886 | 1 | 1 |
| +969529507193 | 1 | 1 |
| +986126161809 | 1 | 1 |
| +987887333976 | 1 | 1 |
| +990922125025 | 1 | 1 |
| +998233014835 | 1 | 1 |
O'xshash masalalar
Konsol
Natijani ko'rish uchun so'rovni ishga tushiring.
