![Page 1: Interogări la baze de date - elearning.usarb.mdelearning.usarb.md/.../files/2013/03/Interogări-la-baze-de-date.pdf · Instrucțiunea SELECT Instrucțiunea SELECT se folosește pentru](https://reader034.vdocuments.mx/reader034/viewer/2022052406/5a8a55257f8b9adb648bf06c/html5/thumbnails/1.jpg)
Interogări la baze de date
![Page 2: Interogări la baze de date - elearning.usarb.mdelearning.usarb.md/.../files/2013/03/Interogări-la-baze-de-date.pdf · Instrucțiunea SELECT Instrucțiunea SELECT se folosește pentru](https://reader034.vdocuments.mx/reader034/viewer/2022052406/5a8a55257f8b9adb648bf06c/html5/thumbnails/2.jpg)
Instrucțiunea SELECT
Instrucțiunea SELECT se folosește pentru a
extrage date din baza de date
Rezultatul este stocat într-un tabel-rezultat
numit result-set
Sintaxa
SELECT column_name(s) FROM table_name
SAU
SELECT * FROM table_name
![Page 3: Interogări la baze de date - elearning.usarb.mdelearning.usarb.md/.../files/2013/03/Interogări-la-baze-de-date.pdf · Instrucțiunea SELECT Instrucțiunea SELECT se folosește pentru](https://reader034.vdocuments.mx/reader034/viewer/2022052406/5a8a55257f8b9adb648bf06c/html5/thumbnails/3.jpg)
Instrucțiunea SELECT DISTINCT
Într-o tabelă, unele coloane pot conține valori
duplicate. Asta nu e o problemă, totuși, uneori
vrem să listăm doar valorile diferite (distincte)
din tabelă.
Cuvântul cheie DISTINCT poate fi folosit
pentru aceasta.
Sintaxa
SELECT DISTINCT column_name(s)
FROM table_name
![Page 4: Interogări la baze de date - elearning.usarb.mdelearning.usarb.md/.../files/2013/03/Interogări-la-baze-de-date.pdf · Instrucțiunea SELECT Instrucțiunea SELECT se folosește pentru](https://reader034.vdocuments.mx/reader034/viewer/2022052406/5a8a55257f8b9adb648bf06c/html5/thumbnails/4.jpg)
Clauza Top
Folosită pentru a specifica numărul de înregistrări
ce se vor returna
Util când tabel are foarte multe înregistrări
Returnarea unui număr mare de înregistrări poate
afecta performanța
SELECT TOP number|percent column_name(s)
FROM table_name
![Page 5: Interogări la baze de date - elearning.usarb.mdelearning.usarb.md/.../files/2013/03/Interogări-la-baze-de-date.pdf · Instrucțiunea SELECT Instrucțiunea SELECT se folosește pentru](https://reader034.vdocuments.mx/reader034/viewer/2022052406/5a8a55257f8b9adb648bf06c/html5/thumbnails/5.jpg)
Clauza WHERE
Folosită pentru a filtra înregistrări
Folosită pentru a extrage doar înregistrările care
îndeplinesc un anumit criteriu
Sintaxa
SELECT column_name(s)
FROM table_name
WHERE column_name operator value
![Page 6: Interogări la baze de date - elearning.usarb.mdelearning.usarb.md/.../files/2013/03/Interogări-la-baze-de-date.pdf · Instrucțiunea SELECT Instrucțiunea SELECT se folosește pentru](https://reader034.vdocuments.mx/reader034/viewer/2022052406/5a8a55257f8b9adb648bf06c/html5/thumbnails/6.jpg)
Operatori pentru clauza WHERE
![Page 7: Interogări la baze de date - elearning.usarb.mdelearning.usarb.md/.../files/2013/03/Interogări-la-baze-de-date.pdf · Instrucțiunea SELECT Instrucțiunea SELECT se folosește pentru](https://reader034.vdocuments.mx/reader034/viewer/2022052406/5a8a55257f8b9adb648bf06c/html5/thumbnails/7.jpg)
Operatorul LIKE
Folosit în clauza WHERE pentru a specifica un șablon de căutare într-o coloană
Sintaxa:
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern
![Page 8: Interogări la baze de date - elearning.usarb.mdelearning.usarb.md/.../files/2013/03/Interogări-la-baze-de-date.pdf · Instrucțiunea SELECT Instrucțiunea SELECT se folosește pentru](https://reader034.vdocuments.mx/reader034/viewer/2022052406/5a8a55257f8b9adb648bf06c/html5/thumbnails/8.jpg)
Caractere pentru şablon
![Page 9: Interogări la baze de date - elearning.usarb.mdelearning.usarb.md/.../files/2013/03/Interogări-la-baze-de-date.pdf · Instrucțiunea SELECT Instrucțiunea SELECT se folosește pentru](https://reader034.vdocuments.mx/reader034/viewer/2022052406/5a8a55257f8b9adb648bf06c/html5/thumbnails/9.jpg)
Operatorul IN
Folosit pentru a specifica o listă de valori în clauza WHERE
Sintaxa:
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)
![Page 10: Interogări la baze de date - elearning.usarb.mdelearning.usarb.md/.../files/2013/03/Interogări-la-baze-de-date.pdf · Instrucțiunea SELECT Instrucțiunea SELECT se folosește pentru](https://reader034.vdocuments.mx/reader034/viewer/2022052406/5a8a55257f8b9adb648bf06c/html5/thumbnails/10.jpg)
Operatorul BETWEEN
Folosit în clauza WHERE pentru a stabili un
interval de valori după care se va face filtrarea
datelor
Capetele intervalului pot fi numere, text sau
date calendaristice
Sintaxa:
SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2
![Page 11: Interogări la baze de date - elearning.usarb.mdelearning.usarb.md/.../files/2013/03/Interogări-la-baze-de-date.pdf · Instrucțiunea SELECT Instrucțiunea SELECT se folosește pentru](https://reader034.vdocuments.mx/reader034/viewer/2022052406/5a8a55257f8b9adb648bf06c/html5/thumbnails/11.jpg)
Operatorii AND și OR
Se folosesc pentru a filtra înregistrările după mai
multe condiții
![Page 12: Interogări la baze de date - elearning.usarb.mdelearning.usarb.md/.../files/2013/03/Interogări-la-baze-de-date.pdf · Instrucțiunea SELECT Instrucțiunea SELECT se folosește pentru](https://reader034.vdocuments.mx/reader034/viewer/2022052406/5a8a55257f8b9adb648bf06c/html5/thumbnails/12.jpg)
Clauza ORDER BY - sortare
Cuvântul cheie ORDER BY se folosește pentru a
sorta rezultatul după o anumită coloană sau
coloane
Ordonarea/sortarea se face în mod implicit
crescător. Ordonarea descrescătoare – DESC
Sintaxa:
SELECT column_name(s)
FROM table_name
ORDER BY column_name(s) ASC | DESC
![Page 13: Interogări la baze de date - elearning.usarb.mdelearning.usarb.md/.../files/2013/03/Interogări-la-baze-de-date.pdf · Instrucțiunea SELECT Instrucțiunea SELECT se folosește pentru](https://reader034.vdocuments.mx/reader034/viewer/2022052406/5a8a55257f8b9adb648bf06c/html5/thumbnails/13.jpg)
Funcții de agregare
SQL are multe funcții pentru a efectua calcule asupra datelor
Funcții de agregare – calculează o valoare pe baza valorilor din coloanele tabelei
AVG() – Calculează o valoare medie
COUNT() – Întoarce numărul de nregistrări
FIRST() – Întoarce prima valoare
LAST() – Întoarce ultima valoare
MAX() – Întoarce cea mai mare valoare
MIN() - Întoarce cea mai mică valoare
SUM() – Calculează suma
![Page 14: Interogări la baze de date - elearning.usarb.mdelearning.usarb.md/.../files/2013/03/Interogări-la-baze-de-date.pdf · Instrucțiunea SELECT Instrucțiunea SELECT se folosește pentru](https://reader034.vdocuments.mx/reader034/viewer/2022052406/5a8a55257f8b9adb648bf06c/html5/thumbnails/14.jpg)
Exemplu
SELECT AVG(tena_pr)
FROM tovari
![Page 15: Interogări la baze de date - elearning.usarb.mdelearning.usarb.md/.../files/2013/03/Interogări-la-baze-de-date.pdf · Instrucțiunea SELECT Instrucțiunea SELECT se folosește pentru](https://reader034.vdocuments.mx/reader034/viewer/2022052406/5a8a55257f8b9adb648bf06c/html5/thumbnails/15.jpg)
Clauza GROUP BY
De cele mai multe ori funcțiile de agregare folosesc clauza GROUP BY
Are rolul de a grupa datele dintr-una sau mai multe coloane
Sintaxa:
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
![Page 16: Interogări la baze de date - elearning.usarb.mdelearning.usarb.md/.../files/2013/03/Interogări-la-baze-de-date.pdf · Instrucțiunea SELECT Instrucțiunea SELECT se folosește pentru](https://reader034.vdocuments.mx/reader034/viewer/2022052406/5a8a55257f8b9adb648bf06c/html5/thumbnails/16.jpg)
Exemplu
SELECT AVG(tena_pr),id_k
FROM tovari
GROUP BY id_k
![Page 17: Interogări la baze de date - elearning.usarb.mdelearning.usarb.md/.../files/2013/03/Interogări-la-baze-de-date.pdf · Instrucțiunea SELECT Instrucțiunea SELECT se folosește pentru](https://reader034.vdocuments.mx/reader034/viewer/2022052406/5a8a55257f8b9adb648bf06c/html5/thumbnails/17.jpg)
Clauza HAVING
E nevoie de această clauză pentru ca WHERE nu poate fi folosită cu funcțiile de agregare
Sintaxa
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value
![Page 18: Interogări la baze de date - elearning.usarb.mdelearning.usarb.md/.../files/2013/03/Interogări-la-baze-de-date.pdf · Instrucțiunea SELECT Instrucțiunea SELECT se folosește pentru](https://reader034.vdocuments.mx/reader034/viewer/2022052406/5a8a55257f8b9adb648bf06c/html5/thumbnails/18.jpg)
Exemplu
SELECT proizv, AVG (tena_z)
FROM tovari
GROUP BY proizv
HAVING avg(tena_z)>20
![Page 19: Interogări la baze de date - elearning.usarb.mdelearning.usarb.md/.../files/2013/03/Interogări-la-baze-de-date.pdf · Instrucțiunea SELECT Instrucțiunea SELECT se folosește pentru](https://reader034.vdocuments.mx/reader034/viewer/2022052406/5a8a55257f8b9adb648bf06c/html5/thumbnails/19.jpg)
Întrebări