CATEGORII DOCUMENTE |
Functia COUNT
Functia COUNT contorizeaza valorile nenule ale unei coloane sau numarul de linii dintr-un rezultat al interogarii. Cu alte cuvinte, COUNT numara cate valori diferite de NULL are coloana specificata sau cate linii sunt.
Cate carti sunt in biblioteca?
SELECT COUNT(*) AS Nr_carti
FROM CARTE
Prezenta asteriscului ca argument al functiei COUNT are ca efect numararea tuturor liniilor tabelei CARTE. Rezultatul este prezentat in figura 4.33.
nr_carti |
Figura 4.33. Numarul de carti din biblioteca
Folosind concatenarea se poate obtine un rezultat ceva mai elegant. Spre exemplu, in Visual Fox Pro fraza se scrie in forma:
SELECT "In biblioteca sunt " + STR (COUNT (*), 4) + " carti" AS Rezultat
FROM CARTE
Rezultat |
In biblioteca sunt 20 carti |
Figura 4.34. Numarul de carti din biblioteca
obtinut prin folosirea concatenarii
Tabela CARTE are cheie primara atributul cota_carte, care nu poate avea valori nule, de aceea, la fel de corecta este si solutia:
SELECT COUNT(cota_carte) AS Nr_carti
FROM CARTE
Cate linii are produsul cartezian al tabelelor STUDENT si STUDCAMIN?
SELECT COUNT(*) AS Produs
FROM STUDENT, STUDCAMIN
produs |
Figura 4.35. Produsul cartezian al tabelelor
STUDENT si STUDCAMIN
Cati studenti urmeaza cursurile Facultatii de Stiinte Economice?
SELECT COUNT(Nr_matricol) AS Nr_studenti
FROM STUDENT
WHERE facultate = "Stiinte Economice"
nr_studenti |
Figura Studentii de la Stiinte Economice
Cati studenti de la Facultatea de Stiinte Economice sunt bursieri?
SELECT COUNT (*) AS Nr_bursieri
FROM STUDENT S, BURSA B
WHERE S.nr_matricol = B.nr_matricol AND facultate = "Stiinte Economice"
nr_bursieri |
Figura 4.37. Studentii bursieri de la Stiinte Economice
Cati studenti stau in camin?
SELECT COUNT (*) AS Nr_caministi
FROM STUDENT S, STUDCAMIN SC
WHERE S.nr_matricol = SC.nr_matricol
nr_caministi |
Figura 4.38. Studentii din camin
Care este numarul studentilor din Muntenia?
SELECT COUNT (*) AS Nr_studenti
FROM STUDENT S, LOCALITATE L
WHERE S.cod_localitate = L.cod_localitate AND regiune = "Muntenia"
nr_studenti |
Figura 4.39. Studentii din Muntenia
Din cate localitati provin studentii?
Tabela LOCALITATE contine si localitati din care nu avem studenti, pentru moment.
De aceea, in locul solutiei:
SELECT COUNT(cod_localitate) AS Nr_localitati
FROM LOCALITATE
nr_localitati |
Figura 4.40. Numarul localitatilor din care provin studentii
SELECT COUNT(cod_localitate) AS Nr_localitati
FROM STUDENT
nr_localitati |
Problema este ca rezultatul obtinut (20) este incorect, deoarece functia COUNT numara toate valorile nenule. Exista insa o clauza prin care o valoare sa fie luata o singura data in calcul: DISTINCT. Rezultatul corect presupune urmatoarea varianta:
SELECT COUNT(DISTINCT cod_localitate) AS Nr_localitati
FROM STUDENT
nr_localitati |
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1589
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved