19
Interogări la baze de date

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

  • Upload
    vudat

  • View
    224

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Întrebări