Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Functia COUNT

sql



+ Font mai mare | - Font mai mic



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

de preferat ar fi folosirea variantei:

SELECT COUNT(cod_localitate) AS Nr_localitati

FROM STUDENT

nr_localitati

Figura 4.41. Numarul localitatilor din care provin studentii

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

Figura 4.42. Numarul localitatilor din care provin studentii



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1504
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved