interogări la baze de date -...
TRANSCRIPT
Interogări la baze de date
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
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
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
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
Operatori pentru clauza WHERE
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
Caractere pentru şablon
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,...)
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
Operatorii AND și OR
Se folosesc pentru a filtra înregistrările după mai
multe condiții
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
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
Exemplu
SELECT AVG(tena_pr)
FROM tovari
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
Exemplu
SELECT AVG(tena_pr),id_k
FROM tovari
GROUP BY id_k
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
Exemplu
SELECT proizv, AVG (tena_z)
FROM tovari
GROUP BY proizv
HAVING avg(tena_z)>20
Întrebări