Sunteți pe pagina 1din 8

Instruciuni de selecie a

datelor

Ana Tnsescu
Universitatea Petrol-Gaze din Ploieti

Contabilitate i Informatic de Gestiune


2014-2015

Pentru definirea interogrilor de selecie simple


se utilizeaz urmtoarea sintax:
SELECT [domeniu] lista_selectie
FROM nume_tabela1, nume_tabela2,...
[WHERE criteriu_selectie]
[ORDER BY cmpuri_ordonare [ASC|DESC]];

Domeniu
permite
stabilirea
modalitii
de
manipulare a nregistrrilor din baza de date i poate fi:
ALL permite includerea tuturor nregistrrilor care
ndeplinesc condiiile impuse;

DISTINCT are ca efect eliminarea nregistrrilor
care conin duplicate n cmpurile selectate;


DISTINCTROW
are
n
vedere
nregistrrile duplicate n ansamblul lor, nu
numai pe cele care au cmpuri
duplicate.
Ana Tnsescu
Contabilitate i Informatic de Gestiune


Universitatea Petrol-Gaze din Ploieti

2014-2015

Lista_selectie cuprinde toate cmpurile care vor


aprea n tabela cu rezultatele interogrii.
Clauza FROM specific numele tabelei
tabelelor care vor forma suportul interogrii.

sau

Clauza WHERE face interogrile mai selective,


specificnd faptul c vor fi afiate numai nregistrrile
care ndeplinesc criteriul descris. Clauza WHERE este
opional i nu opereaz cu funcii totalizatoare. n
cadrul condiiei din clauza WHERE pot fi utilizai
operatorii : AND, OR, NOT, IN, BETWEEN, LIKE.
Clauza ORDER BY este utilizat atunci cnd se
dorete ca rezultatele interogrii s fie ordonate n mod
cresctor (ASC) sau descresctor (DESC).
Ana Tnsescu
Universitatea Petrol-Gaze din Ploieti

Contabilitate i Informatic de Gestiune


2014-2015

La definirea interogrilor de selecie agregate se


folosete sintaxa:
SELECT [domeniu] fgrupare(camp) as alias [,lista_sel]
FROM nume_tabela1, nume_tabela2,...
[WHERE criteriu_selectie]
GROUP BY camp_grupare
[HAVING criteriu_grupare]
[ORDER BY campuri_ordonare [ASC|DESC]];

Clauza GROUP BY precizeaz cmpul sau cmpurile


pe baza crora se va efectua gruparea nregistrrilor.
Clauza HAVING impune o condiie clauzei GROUP
BY, n acelai fel n care acioneaz clauza WHERE
asupra clauzei SELECT.
Ana Tnsescu
Universitatea Petrol-Gaze din Ploieti

Contabilitate i Informatic de Gestiune


2014-2015

Asocierea tabelelor cu clauza WHERE


Dup existena i coninutul clauzei WHERE,
asocierile se pot clasifica n:
- asocieri CROSS mai puin utilizate, cu rol n
ilustrarea
elementelor
specifice
proprietilor
combinatorii ale asocierilor;
- asocieri de ECHIVALEN, cele mai folosite,
presupun utilizarea n clauza WHERE a operatorului
de egalitate;
- asocieri de NONECHIVALEN care fac apel
n clauza WHERE la oricare operator de comparare
n afar de semnul egal.
Ana Tnsescu
Universitatea Petrol-Gaze din Ploieti

Contabilitate i Informatic de Gestiune


2014-2015

Sintaxa general pentru asocierile


echivalen i de tip nonechivalen este:

de

tip

SELECT [domeniu] lista_selectie


FROM nume_tabela1, nume_tabela2
WHERE criteriu_asociere
[GROUP BY camp_grupare]
[HAVING criteriu_grupare]
[ORDER BY campuri_ordonare [ASC|DESC]];

Deoarece n instruciunile SQL care definesc


asocieri se utilizeaz cmpuri care fac parte din tabele
diferite, pentru cmpurile comune sau care au acelai
nume, ntotdeauna este necesar s se specifice tabela
de care aparin, dup modelul:
nume_tabela.nume_cmp
Ana Tnsescu
Universitatea Petrol-Gaze din Ploieti

Contabilitate i Informatic de Gestiune


2014-2015

Asocierea tabelelor cu clauza JOIN


Dup tipul asocierii, asocierile se mpart n:
asocieri interne (jonciuni interne sau inner
join) genereaz o tabel rezultat care conine doar
nregistrrile care au corespondent n tabelele
asociate;
asocieri externe (jonciuni externe sau outer
join) permit crearea unei tabele virtuale care conine
att nregistrrile care au corespondent n tabelele
asociate, ct i nregistrrile care nu au
corespondent.
Ana Tnsescu
Universitatea Petrol-Gaze din Ploieti

Contabilitate i Informatic de Gestiune


2014-2015

Sintaxa asocierilor interne i externe este:


SELECT [domeniu] lista_selectie
FROM nume_tab1
{INNER|LEFT OUTER|RIGHT OUTER} JOIN nume_tab2
ON criteriul_de_asociere
[WHERE criteriu_selectie]
[GROUP BY camp_grupare]
[HAVING criteri_de_grupare]
[ORDER BY cmpuri_ordonare [ASC|DESC]];




INNER, LEFT OUTER, RIGHT, OUTER specific tipul


asocierii;
JOIN precizeaz tabela care va fi asociat cu tabela
aflat n clauza FROM;
ON criteriul de asociere arat relaia dintre cmpurile pe
care se bazeaz asocierea.

Ana Tnsescu
Universitatea Petrol-Gaze din Ploieti

Contabilitate i Informatic de Gestiune


2014-2015

S-ar putea să vă placă și