Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  

 
CATEGORII DOCUMENTE


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


Functia COUNT

sql


loading...



DOCUMENTE SIMILARE

Trimite pe Messenger
Expresii conditionale(CASE si DECODE)
PROIECT MAGAZIN VIRTUAL (ansamblu a sistemului informatic)
Notiuni introductive in SQL
Conditionale
Subconsultari
Obiecte complexe in SQL. Vederi.
Operatorul LIKE
Produsul cartezian
Functia SUM
Standardul SQL

TERMENI importanti pentru acest document

ce este functia count(*) :

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

20

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

200

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

13

Figura 4.36.  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

8

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

11

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

17

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

15

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

20

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

8

Figura 4.42. Numarul localitatilor din care provin studentii

DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 348
Importanta: rank

Comenteaza documentul:

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

Creaza cont nou

Distribuie URL

Adauga cod HTML in site

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