1,343 matches
-
sau mai multe rânduri. Cuvintele-cheie ale unei comenzi SQL sunt: Instrucțiunile care determină tipul de acțiune ce urmează a fi executat. De exemplu: - CREATE (definirea structurii unui tabel); - INSERT (adăugarea de înregistrări); - DELETE (ștergerea de înregistrări); - UPDATE (actualizarea de înregistrări); - SELECT (consultarea unei surse de date și afișarea rezultatelor); Clauzele care determină sursa de date, impunerea de criterii de filtrare asupra sursei de date sau pot realiza ordonări ori grupări ale datelor. De exemplu: - FROM (stabilește sursa de date pentru o
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
2010. În situația în care se dorește adăugarea într-un tabel a unor înregistrări dintr-un alt tabel din baza de date (cazul interogărilor de tip Append Query, sintaxa utilizată va fi următoarea: INSERT INTO nume tabel (câmp1, câmp2 ..., câmp N) SELECT camp1, camp2..., camp N FROM sursă de date WHERE condiție 1 [AND/OR conditie 2 ...] unde: sursa de date poate fi constituită din unul sau mai multe tabele ori interogări; condițiile exprimate în clauza WHERE permit restricționarea înregistrărilor care vor
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
de date poate fi constituită din unul sau mai multe tabele ori interogări; condițiile exprimate în clauza WHERE permit restricționarea înregistrărilor care vor fi adăugate pe baza unuia sau mai multor criterii de filtrare. Observație: Numărul de câmpuri din instrucțiunea SELECT trebuie să fie egal cu numărul de câmpuri specificate între paranteze după numele tabelului din instrucțiunea INSERT INTO și să respecte ordinea în care sunt enumerate acestea. Exemplu: Să se adauge în tabelul Angajat și persoanele din localitatea „Iași”, memorate
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
unul sau mai multe tabele ori interogări; condițiile exprimate în clauza WHERE permit restricționarea înregistrărilor care vor fi adăugate pe baza unuia sau mai multor criterii de filtrare. Observație: clauza INTO poate fi utilizată și în cadrul unor instrucțiuni de tip SELECT mai complexe care presupun grupări de date (a se vedea instrucțiunile privind selecția datelor din paragrafele următoare ale capitolului). Exemplu: Să se creeze tabelul Angajati 2014 ce va conține numele, prenumele și adresele salariaților angajați în anul 2014. Observație: Dacă
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
unor câmpuri dintr-un alt tabel (de exemplu ștergerea contractelor pentru clienții dintr-o anumită localitate, rezolvarea va implica utilizarea unei subinterogări (acest caz va fi prezentat în paragrafele următoare). 5.5. Comenzi pentru selecția datelor Sintaxa generală a instrucțiunii SELECT: SELECT [DISTINCT | DISTINCT ROW | TOP n ] listă câmpuri selectate/calculate FROM Sursa de date [ WHERE condiții aplicate înregistrărilor negrupate ] [ GROUP BY lista câmpuri de grupare ] [ HAVING condiții aplicate înregistrărilor grupate ] [ ORDER BY câmp1 [ASC / DESC] [, camp2, ...] ] unde: DISTINCT elimină înregistrările
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
câmpuri dintr-un alt tabel (de exemplu ștergerea contractelor pentru clienții dintr-o anumită localitate, rezolvarea va implica utilizarea unei subinterogări (acest caz va fi prezentat în paragrafele următoare). 5.5. Comenzi pentru selecția datelor Sintaxa generală a instrucțiunii SELECT: SELECT [DISTINCT | DISTINCT ROW | TOP n ] listă câmpuri selectate/calculate FROM Sursa de date [ WHERE condiții aplicate înregistrărilor negrupate ] [ GROUP BY lista câmpuri de grupare ] [ HAVING condiții aplicate înregistrărilor grupate ] [ ORDER BY câmp1 [ASC / DESC] [, camp2, ...] ] unde: DISTINCT elimină înregistrările duplicate
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
MIN, MAX etc.); ORDER BY conține denumirile câmpurilor folosite la sortarea datelor. Cuvintele cheie ASC sau DESC indică sortarea ascendentă sau descendentă și sunt opționale. Implicit sortarea se realizează ascendent (ASC). Observații: În SQL pentru Access o comandă de tip SELECT trebuie să conțină obligatoriu instrucțiunea SELECT și clauza FROM (celelalte elemente sunt opționale și se adaugă în funcție de cerințele informaționale pentru care a fost proiectată interogarea). Câmpurile din listă ce urmează instrucțiunii SELECT sunt separate prin virgulă, iar atribuirea unui nume
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
denumirile câmpurilor folosite la sortarea datelor. Cuvintele cheie ASC sau DESC indică sortarea ascendentă sau descendentă și sunt opționale. Implicit sortarea se realizează ascendent (ASC). Observații: În SQL pentru Access o comandă de tip SELECT trebuie să conțină obligatoriu instrucțiunea SELECT și clauza FROM (celelalte elemente sunt opționale și se adaugă în funcție de cerințele informaționale pentru care a fost proiectată interogarea). Câmpurile din listă ce urmează instrucțiunii SELECT sunt separate prin virgulă, iar atribuirea unui nume pentru un câmp calculat se realizează
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
În SQL pentru Access o comandă de tip SELECT trebuie să conțină obligatoriu instrucțiunea SELECT și clauza FROM (celelalte elemente sunt opționale și se adaugă în funcție de cerințele informaționale pentru care a fost proiectată interogarea). Câmpurile din listă ce urmează instrucțiunii SELECT sunt separate prin virgulă, iar atribuirea unui nume pentru un câmp calculat se realizează prin cuvântul-cheie AS (de exemplu Pret*Cantitate AS Valoare). De altfel, pentru fiecare tabel din sursa de date și pentru fiecare câmp din instrucțiunea SELECT se
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
instrucțiunii SELECT sunt separate prin virgulă, iar atribuirea unui nume pentru un câmp calculat se realizează prin cuvântul-cheie AS (de exemplu Pret*Cantitate AS Valoare). De altfel, pentru fiecare tabel din sursa de date și pentru fiecare câmp din instrucțiunea SELECT se poate utiliza cuvântul-cheie AS în scopul atribuirii unui alt nume (alias) care va fi afișat în setul de rezultate și va putea fi folosit ulterior în expresiile aferente altor câmpuri calculate (în SQL pentru Access nu se pot utiliza
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
nu se pot utiliza denumirile de tip alias pentru câmpuri în clauzele WHERE, GROUP BY, HAVING sau ORDER BY). Dacă se dorește afișarea în lista de rezultate a tuturor câmpurilor din sursa de date, lista de câmpuri care urmează instrucțiunii SELECT poate fi înlocuită de simbolul „*”. Pentru exemplificarea instrucțiunilor de tip SELECT se va utiliza modelul de bază de date prezentat în capitolele anterioare ale prezentei lucrări (figura 5.3). Utilizarea operatorilor Exemplul 1 (utilizarea operatorilor AND/OR/IN/BETWEEN): Să
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
clauzele WHERE, GROUP BY, HAVING sau ORDER BY). Dacă se dorește afișarea în lista de rezultate a tuturor câmpurilor din sursa de date, lista de câmpuri care urmează instrucțiunii SELECT poate fi înlocuită de simbolul „*”. Pentru exemplificarea instrucțiunilor de tip SELECT se va utiliza modelul de bază de date prezentat în capitolele anterioare ale prezentei lucrări (figura 5.3). Utilizarea operatorilor Exemplul 1 (utilizarea operatorilor AND/OR/IN/BETWEEN): Să se afișeze informațiile privind contractele realizate în zilele de 3 ianuarie
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
data la care au fost angajați. Exemplul 2: Care sunt contractele care se încadrează între primele 10% dintre contractele cu cele mai mici tarife negociate (se vor afișa toate informațiile disponibile pentru fiecare contract)? Observație: În lipsa clauzei DISTINCT după instrucțiunea SELECT, o localitate din care există 20 de clienți ar fi figurat, în mod repetat, de 20 de ori în lista de rezultate. Clauza DISTINCT ROW va fi exemplificată ulterior instrucțiunilor de selecție cu sursă compusă din mai multe tabele. Realizarea
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
fi ordonată ascendent, după numărul contractului și, în cazul în care mai multe persoane au lucrat la același contract, se va ordona descrescător după numărul de zile lucrate. Observații: Denumirea câmpului calculat ZileLucrate a putut fi utilizată ulterior în instrucțiunea SELECT pentru a determina valorile câmpului Observații, dar în clauza ORDER BY a fost necesar să se repete formula de calcul (DataSfarsit-DataInceput). O altă soluție pentru clauza ORDER BY o reprezintă specificarea numărului câmpului din instrucțiunea SELECT după care se dorește
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
utilizată ulterior în instrucțiunea SELECT pentru a determina valorile câmpului Observații, dar în clauza ORDER BY a fost necesar să se repete formula de calcul (DataSfarsit-DataInceput). O altă soluție pentru clauza ORDER BY o reprezintă specificarea numărului câmpului din instrucțiunea SELECT după care se dorește efectuarea sortării datelor. În cazul exemplului prezentat, ordonarea se face după coloanele 2 (ascendent) și 3 (descendent): Observație: Parametrii permit introducerea unui element variabil în instrucțiunea SQL și oferă posibilitatea utilizatorilor să personalizeze interogarea în momentul
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
Întrucât în clauza FROM a fost necesar să fie descrisă legătura cheie primară - cheie externă prin intermediul câmpului CUIClient care are aceeași denumire în ambele tabele, este obligatoriu ca, la fiecare specificare a acestui câmp (în clauza FROM sau în instrucțiunea SELECT), numele câmpului să fie precedat de numele tabelului de care aparține. O soluție alternativă la descrierea legăturii dintre tabele în clauza FROM o reprezintă specificarea modului de compunere a înregistrărilor rezultate prin intermediul condițiilor din clauza WHERE: În cazul în care
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
al căror cod nu se regăsește în câmpul cheie externă. Gruparea datelor și utilizarea funcțiilor de tip agregat Gruparea datelor într-o interogare se realizează prin specificarea câmpurilor de grupare în clauza GROUP BY. Pentru câmpurile care figurează în clauza SELECT, dar după care nu se dorește gruparea datelor, este necesară folosirea uneia dintre funcțiile-agregat (în SQL pentru Access funcțiile-agregat sunt Count, Sum, Min, Max, First, Last, Avg, StDev și Var). Trebuie subliniat că în cazul specificării de restricții pentru filtrarea
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
în cazul specificării de restricții pentru filtrarea datelor în cadrul clauzei WHERE se filtrează înregistrările înainte de grupare, în timp ce clauza HAVING permite filtrarea datelor rezultate în urma grupării. Clauza HAVING poate conține restricții în care sunt utilizate câmpurile de grupare (specificate în instrucțiunea SELECT) sau câmpuri pentru care se aplică una dintre funcțiile agregat (de exemplu SUM(cantitate)>100, COUNT(CodClient)<3, MAX(Valoare)>50 etc.). În clauza HAVING nu pot fi utilizate etichetele de câmpuri (atribuite prin cuvântul cheie AS). Realizarea interogărilor de
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
de procesoarele de tabele (precum Microsoft Excel). Este posibilă elaborarea unor tabele în care gruparea și ordonarea datelor se realizează atât pe linii, cât și pe coloane, la intersecția cărora se pot efectua calcule complexe. Realizările câmpurilor precizate în instrucțiunea SELECT vor fi afișate ca etichete pentru liniile tabelului rezultat, în timp ce valorile câmpului specificat în instrucțiunea PIVOT (este permisă specificarea unui singur câmp) vor fi afișate pentru titlurile de coloane și utilizate pentru grupare. Expresia specificată după instrucțiunea TRANSFORM va reprezenta
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
care provin din tabele (sau alte interogări de selecție) diferite, generând ca rezultat un set de date cu același număr de câmpuri ca tabelele/interogările utilizate drept sursă. O interogare de acest tip poate conține mai multe instrucțiuni de tip SELECT, cărora li se aplică operatorul UNION. Sintaxa utilizată pentru interogările de tip UNION este următoarea: Observații: Toate sursele de date trebuie să conțină același număr de câmpuri, iar ordinea câmpurilor trebuie să fie aceeași. Dacă se dorește sortarea setului de
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
este următoarea: Observații: Toate sursele de date trebuie să conțină același număr de câmpuri, iar ordinea câmpurilor trebuie să fie aceeași. Dacă se dorește sortarea setului de rezultate, clauza ORDER BY se poate specifica numai după ultima cerere de tip SELECT. Implicit, prin reuniune se elimină înregistrările duplicate. Pentru afișarea înregistrărilor duplicate se folosește clauza ALL. Exemplu: În baza de date utilizată pentru exemplificările anterioare se va adăuga un tabel pentru evidența colaboratorilor firmei cu următoarea structură: Colaborator(CNPCol, NumeCol, PrenumeCol
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
Lista va conține numele, prenumele și numerele de telefon, iar într-un câmp calculat, se va afișa litera C pentru colaboratori și A pentru furnizori. Observație: Se remarcă utilizarea în clauza ORDER BY a denumirilor de câmpuri din prima instrucțiune SELECT și plasarea clauzei la final, după ultima instrucțiune de selecție participantă la reuniune. 5.6. Subinterogări Atunci când o instrucțiune SELECT este inclusă într-o altă instrucțiune SELECT, UPDATE sau DELETE, instrucțiunea SELECT inclusă poartă numele de subinterogare (Subquery). Subinterogările pot
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
colaboratori și A pentru furnizori. Observație: Se remarcă utilizarea în clauza ORDER BY a denumirilor de câmpuri din prima instrucțiune SELECT și plasarea clauzei la final, după ultima instrucțiune de selecție participantă la reuniune. 5.6. Subinterogări Atunci când o instrucțiune SELECT este inclusă într-o altă instrucțiune SELECT, UPDATE sau DELETE, instrucțiunea SELECT inclusă poartă numele de subinterogare (Subquery). Subinterogările pot fi utilizate pentru a controla în mod dinamic ce înregistrări vor fi afectate de instrucțiuni de tip UPDATE, DELETE sau
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
remarcă utilizarea în clauza ORDER BY a denumirilor de câmpuri din prima instrucțiune SELECT și plasarea clauzei la final, după ultima instrucțiune de selecție participantă la reuniune. 5.6. Subinterogări Atunci când o instrucțiune SELECT este inclusă într-o altă instrucțiune SELECT, UPDATE sau DELETE, instrucțiunea SELECT inclusă poartă numele de subinterogare (Subquery). Subinterogările pot fi utilizate pentru a controla în mod dinamic ce înregistrări vor fi afectate de instrucțiuni de tip UPDATE, DELETE sau INSERT, ori pentru a determina setul de
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
BY a denumirilor de câmpuri din prima instrucțiune SELECT și plasarea clauzei la final, după ultima instrucțiune de selecție participantă la reuniune. 5.6. Subinterogări Atunci când o instrucțiune SELECT este inclusă într-o altă instrucțiune SELECT, UPDATE sau DELETE, instrucțiunea SELECT inclusă poartă numele de subinterogare (Subquery). Subinterogările pot fi utilizate pentru a controla în mod dinamic ce înregistrări vor fi afectate de instrucțiuni de tip UPDATE, DELETE sau INSERT, ori pentru a determina setul de rezultate returnat de o instrucțiune
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]