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

+ Font mai mare | - Font mai mic


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: 331
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