SQL Server





SQL este prescurtarea de la Structured Query Language (Limbaj Structrat de Interogare) şi este un limbaj de baze de date folosit intensiv, care oferă mijloace de manipulare a datelor (stocare, primire, update şi stergere) precum şi de creare a bazelor de date.

Aproape toate sistemele de management a bayelo de date relaţionale, cum ar fi MS SQL , Microsoft Access, MSDE, Oracle, DB2 , Sybase, Mysql, Postgres şi Informix folosesc SQL ca limbaj de baze de date standard. Se impune însă o precizare: deşi toate sistemele de management a bazelor de date relaţionale folosesc SQL, ele folosesc "dialecte" diferite ale acestuia. De exemplu versiunea specială de MS Sql Server se numeşte T-SQL, versiunea de Oracle a SQL este PL/SQLversiunea de MS Access a SQL se numeşte JET SQL, etc.

Baza oricărui sistem de management al bazelor de date tranzacţionale o reprezintă un obiect bază de date numit tabel. Fiecare bază de date este alcătuită din una sau mai multe tabele care stochează informaţia din baza de date. Fiecare tabel are un nume unic şi este alcătuit din coloane şi linii. Coloanele tabelului bazei de date , care mai sunt numite şi câmpuri, au fiecare un numşr unic şi un tip predefinit de date. Coloanele tabelului pot avea atribute diferite. Atributul defineşte funcţionalitatea coloanei. In timp ce coloanele tabelului descriu tipul de date, liniile conţin datele efective ale coloanelor.




Nume Prenume Email Data naşterii Telefon

Fig. Exemplu de tabel

Declaraţia SQL SELECT este folosită pentru a selecta date dintr+un tabel de baze de date SQL. Aceasta este prima şi cea mai de bază comandă SQL .
Exemplu: SELECT Coloana1, Coloana2, Coloana3
FROM Tabel1
Lista coloanelor de dupa SQL SELECT determină care coloane să se returneze şn setul rezultatelor. Pentru a se selecta toate coloanele unui tabel se foloseşte următoarea sintaxă:
Exemplu: SELECT *
FROM Tabel1
Numele tabelei care urmează după FROM transmite interpetorului SQL din care tabel să afişeze datele.

Declaraţia SELECT INTO este folosită pentru a selecta datele dintr-un tabel SQL şi a le insera într-un tabel diferit.
Exemplu: SELECT *
INTO Customers?copz
FROM Customers

Declaraţia SQL DISTINCT este folosită împreună cu sintaxa SQL SELECT pentru a returna un set de date cu intrări unice pentru a anumită tabela a bazei de date.
Exemplu: SELECT DISTINCT Prenume
FROM Tabel1

Declaraţia SQL WHERE este folosită pentru a selecta date în mod condiţional, prin adaugarea acesteia unei interogări SQL SELECT existente.
Exemplu1: SELECT *
FROM Tabel1
WHERE Tabel1.Nume= ""
Exemplu2: SELECT *
FROM Tabel1
WHERE Tabel1.Nume""
Exemplu3: SELECT *
FROM Tabel1
WHERE Tabel1.[Data nasterii]>=''
Exemplu4: SELECT *
FROM Tabel1
WHERE Tabel1.Telefon LIKE '0740%'

Exemplu5: SELECT *
FROM Tabel1
WHERE Tabel1.[Data nasterii] BETWEEN '1/1/1980' AND '1/2/1985'

Declaraţia SQL LIKE este foarte folositoare pentru a specifica o condiţie de căutare în interiorul clauzei SQL WHERE , bazată pe o parte a conţinutului unei coloane. De exemplu, dacă se doreşte selecţia tuturor clienţilor ale căror nume încep cu "A" se foloseşte următoarea construcţie:
Exemplu1: SELECT *
FROM Tabel1
WHERE Tabel1.Nume LIKE "A%"
Exemplu2: SELECT *
FROM Tabel1
WHERE Tabel1.Telefon LIKE "_7[1-3]%" -- se selectează toti clienţii care au numerele de telefon care încep cu orice cifră, au a doua cifră 7, a treia cifră între 1 şi 3.

Declaraţia SQL INSERT INTO are două forme, iar rezultatul fiecăreia dintre ele ăl reprezintă adăugarea unei noi linii în baza de date.
. Prima formă de sintaxă nu precizează numele coloanelor în care se va realiza inserarea datelor, ci doar datele care vor fi inserate.
Exemplu: INSERT INTO Table1
VALUES ("","", , "", "")
. Cea de-a doua formă de sintaxă precizează atât numele coloanelor în care se va realiza inserarea cât şi valorile care vor fi inserate. În acest caz , numărul coloanelor în care se va realiza inserarea trebuie să concidă cu numărul datelor inserate. În caz contrar, programul va afişa eroare.
Exemplu: INSERT INTO Tabel1 (Nume, Prenume, Email, [Data naşterii], Telefon)
VALUES ("Botiş","", , "17/09/1981", "")

Construcţia SQL UPDATE modifică datele unei înregistrări deja existente. De obicei trebuie să adăugăm construcţia condiţională SQL WHERE declaraţiei noastre pentru a specifica coloanele care se inteţionează a fi modificate. Dacă se omite adăugare clauzei WHERE , toate înregistrările vor fi modificate având data naşterii 23/1/1981.
Exemplu: UPDATE Tabel1
SET [Data Nasterii]="23/1/1981"
WHERE Nume='' AND Prenume=''

Declaraţia SQL DELETE se foloseşte pentru a şterge anumite date specificate. De regulă se foloseşte împreună cu construcţia WHERE . Dacă se foloseşte doar SQL DELETE, toate datele din tabela specificată vor fi şterse.
Exemplu: DELETE FROM Tabel1
WHERE Nume="Botis"

Construcţia SQL ORDER BY, se foloseşte atunci când se doreşte sortarea seturilor de rezultate in funcţie de anumite coloane. De exemplu dacă se doreşte selectarea tutror persoanelor din tabelă şi ordonarea lor în funcţie de data naşterii vom avea ca în exemplul de mai jos:
Exemplu: SELECT *
FROM Tabel1
ORDER BY [Data nasterii]
Ordonarea în acest caz va fi cea implicită (ascendentă); dacă se doreşte o ordonare descendentă , acest lucru poate fi precizat prin folosirea cuvântului DESC, după cum urmează:
Exemplu: SELECT *
FROM Tabel1
ORDER BY [Data nasterii] DESC
Ordonarea se poate realiza şi după două coloane:
Exemplu: SELECT *
FROM Tabel1
ORDER BY [Data naşterii] , Nume

Declaraţia AND este folosită atunci când se doreşte specificarea a mai mult decât o condiţie în clauza SQL şi în acelaşi timp se doreşte ca toate condiţiile să fie îndeplinite.
Exemplu: SELECT *
FROM Tabel1
WHERE Nume="" AND Prenume=""

Declaraţia OR este folosită într-o situaţie similară, însă diferenţa principală comparativ cu SQL AND este că sintaxa OR va returna toate înregistrările care satisfac oricare dintre condiţiile listate după WHERE.
Exemplu: SELECT *
FROM Tabel1
WHERE Nume="" OR Nume="Ani"

Construcţia BETWEEN defineşte un şir de date cuprinse între două valori.
Exemplu: SELECT *
FROM Tabel1
WHERE Tabel1.[Data nasterii] BETWEEN '1/1/1980' AND '1/2/1985'

Aliss-urile SQL pot fi folosite atât cu tabelele bazei de date cât şi cu coloanele acestor tabele , în funcţie de task-urile care se cer a fi îndeplinite. Ele sunt folosite pentru a face rezultatele interogărilor SQL mai accesibil.
Exemplu: SELECT Nume, SUM(Cantitate) AS Total
FROM Tabel2
GROUP BY Nume

Construcţia SQL COUNT este o funcţie agregată folosită pentru a număra coloanele tabelei din baza de date.
Exemplu: SELECT COUNT(Nume)
FROM Tabel

Declaraţia SQL MAX este o funcţie agregată care permite selectarea celei mai mari valori dintr-o coloană.
Exemplu: SELECT MAX(Data nasterii)
FROM Tabel1

Construcţia SQL MIN este folosită pentru a selecta cea mai mică valoare dintr-o anumită coloană.
Exemplu: SELECT MAX(Data nasterii)
FROM Tabel1

Construcţia SQL AVG selectează valoarea medie a unei coloane dintr-un tabel. Spre exemplu , pentru a afla valoarea medie a preţurilor din tabela de produse procedăm în felul următor:
Exemplu: SELECT AVG(Pret)
FROM Tabel2

Construcţia SQL SUM permite selectarea unui total pentru o coloană numerică.
Exemplu: SELECT SUM(Pret)
FROM Tabel1

Declaraţia GROUP BY este folosită împreună cu funcţii agregate cum ar fi SQL SUM pentru a oferi metode de grupare a setului de rezultate după anumite coloane ale bazei de date.
Exemplu: SELECT SUM(Pret)
FROM Tabel2
GROUP BY Produs