Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Sql


Index » educatie » » informatica » Sql
» Specificatorul DISTINCT pentru extragerea de valori unice


Specificatorul DISTINCT pentru extragerea de valori unice


Specificatorul DISTINCT pentru extragerea de valori unice

Daca nu se defineste nici o constrangere asupra unei tabele, ca de exemplu o cheie primara, tabela va putea contine linii duplicat. Chiar daca in tabela nu se pot stoca linii duplicat, pot apare valori duplicat la nivel de coloana la executia comenzii SELECT. Este posibil sa se doreasca, extragerea fara dubluri a valorilor dintr-o coloana. In acest scop se foloseste cuvantul cheie DISTINCT.

Exemplu:

Select Distinct Dep FROM Angajat

Daca se foloseste DISTINCT pentru mai multe coloane, liniile extrase sunt unice din punct de vedere al combinatiei coloanelor specificate dupa cuvantul cheie DISTINCT.

Exemple:



Se considera baza de date cu relatia STUDENT prezentata in capitolul 3.

STUDENT

SID

Nume

Major

Grad

Varsta

100

ION

Istorie

GR

21

150

POPA

Calculatoare

B2

19

200

BUCUR

Matematica

GR

50

250

GRIGORE

Istorie

SP

50

300

BUCUR

Calculatoare

SP

41

350

RUSU

Matematica

C1

20

400

RADU

Calculatoare

B1

18

450

ION

Istorie

SP

24

Daca se foloseste instructiunea:

SELECT SID, Nume, Major, FROM STUDENT

avem operatia de proiectie STUDENT [SID, NUME, Major] cu rezultatul:

SID

Nume

Major

100

ION

Istorie

150

POPA

Calculatoare

200

BUCUR

Matematica

250

GRIGORE

Istorie

300

BUCUR

Calculatoare

350

RUSU

Matematica

400

RADU

Calculatoare

450

ION

Istorie

Observatie:

Nu trebuie confundat cuvantul cheie SELECT cu operatorul Select din algebra relationala, deoarece cuvantul cheie reprezinta un verb in SQL.

ڤ

Se considera urmatoarea secventa care are rezultatul

Major

Istorie

Calculatoare

Matematica

Istorie

Calculatoare

Matematica

Calculatoare

Istorie

SELECT Major

FROM STUDENT;

In fapt SQL nu elimina in mod automat duplicatul. Daca se doreste ca randurile duplicat sa fie sterse se foloseste calificativul DISTINCT ca in secventa:

Istorie

Calculatoare

Matematica

SELECT DISTINCT Major

FROM STUDENT;

Observatie:

Daca se doreste sa se execute operatia de selectie se foloseste comanda SELECT FROM, ca in secventa urmatoare:

SELECT SID, Nume, Major, Grad, VARSTA

FROM STUDENT,

WHERE Major = Matematica;

Rezultatul este:

200

BUCUR

Matematica

GR

50

350

RUSU

Matematica

C1

20

Secventa de mai sus are urmatoarea echivalenta:

SELECT *

FROM STUDENT

WHERE Major = Matematica;

Daca se doreste sa se combine operatia de selectie si proiectie din algebra relationala se foloseste secventa:

SELECT Nume, Varsta,

FROM Student;

WHERE Major = Matematica;

Cu rezultatul:   

BUCUR

50

RUSU

20





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate