|
4 зертханалық сабағы (2-сағат). Тақырыбы: реляционды және булев операторларының одан да көп предикаттарды шығаруда қолдануCOUNT-тың мәндер емес, бағандармен бірге қолданылуы
|
бет | 3/6 | Дата | 11.11.2022 | өлшемі | 84,48 Kb. | | #40128 |
| Документ Microsoft WordCOUNT-тың мәндер емес, бағандармен бірге қолданылуы
Кесте жолдарының жалпы санын есептеу үшін өріс атының орнына COUNT-ты жұлдызшамен бірге қолданыңыз, нәтижесі 6.4 суретте көрсетілген келесі мысалдағыдай
SELECT COUNT (*) FROM Customers
COUNT жұлдызшамен бірге NULL-ді де, дубликаттарды да қосады, осы себептен DISTINCT қолданылмайды. DISTINCT COUNT-қа қарағанда ерекше өрісте барлығын өшіретін жоғарғы мәнді нөмірлерді енгізе алады.
=============== SQL Execution Log ============
| SELECT COUNT (*) FROM Customers; |
| ==============================================|
| ------- |
| 7 |
===============================================
Сурет 6. 4: Шамалардың орнына жолдардың саналуы.
Осы өрісте NULL берілгендері бар немесе аз қалатын жолдар.
DISTINCT COUNT (*)-мен қолданыла бермейді, өйткені берілгендер базасында жақсы өңделген және ұсталатындармен ешқандай әрекетте болмайды. Бұндай берілгендер базасында толығымен бос болатын ешқандай жолдар немесе дубликаттар болмауы керек. (біріншісі ешқандай мәліметтерге ие болмайды, ал соңғылары толығымен алынатындар) Егер де екінші жағынан бәрі бір толығымен бос жолдар болатын болса, онда сіз COUNT-тың бұл мәліметті сізден жасырғанын қаламайсыз.
АГРЕГАТТЫҚ ФУНКЦИЯЛАРҒА ДУБЛИКАТТАРДЫҢ ҚОСЫЛУЫ
Агрегаттық функциялар DISTINCT-қа қарағанда өрістің атының алдына қойылатын ALL аргументін қолдана алады, бірақ та ол қарама-қарсылықты білдіреді: дубликаттарды қосу. ANSI техникалық жағынын бұны COUNT-қа рұқсат етпейді, бірақ та көптеген реализациялар бұл шектеуді жұмсартады.
COUNT-пен қолданылғанда ALL мен *-ның бір-бірінен айырмашылығы -
* ALL өрістің атын аргумент ретінде қолданады.
* ALL NULL - дің мәндерін санай алмайды.
Әзірше * NULL мәндерін қосатын жалғыз аргумент және ол тек қана COUNT-пен бірге қолданылады; COUNT-тан өзгеше функциялар NULL мәндерін барлық жағдайда ескермейді (*игнорируют*). Келесі команда (COUNT) Тапсырыс беруші кестесінде rating өрістегі NULL мәндерін емес сандарды санайды. ( қайталауларды қоса алғанда)
SELECT COUNT ( ALL rating ) FROM Customers;
№ 6 зертханалық сабағы (2-сағат).
Достарыңызбен бөлісу: |
|
|