Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica

Baze de date


Qdidactic » stiinta & tehnica » informatica » baze de date
Descrierea limbajului SQL



Descrierea limbajului SQL


Descrierea limbajului SQL


INSTRUCTIUNEA SELECT


SELECT este cea mai folosita instructiune, corespunzand interogarii Selection din Access. Permite extragerea campurilor unui ansamblu de inregistrari ce corespund unor criterii.


Sintaxa:


SELECT [ALL |DISTINCT <lista de campuri>

FROM <lista de tabele>

[WHERE ]

[GROUP BY]

[HAVING]

[ORDER BY]




ALL


Sunt luate in considerare toate inregistrarile ce corespund criteriilor.

Distinct

Sunt omise toate inregistrarile pentru care campurile selectate contin date in dublu exemplar.

<lista de campuri>

Lista de campuri selectate, separate de virgule


Indica faptul ca toate campurile tabelului/tabelelor specifcat(e) sunt selectate.

alias1, alias2

Indica numele ce trebuie folosite drept antete de coloana in locul numelor coloanelor originale din tabel.

<lista de tabele>

Numele tabelului sau tabelelor ce contin datele care trebuie extrase.


CLAUZA FROM

Aceasta specifica tabelele sau interogarile din care sunt extrase datele.

Sintaxa:

FROM table 1 [LEFT|RIGHT|INNER JOIN table2

ON TABLE1.camp1 <operator de comparare> TABLE2.camp2


[LEFT|RIGHT|

INNER]

Acesti operatori permit definirea tipului de imbricare intre tabele.


LEFT JOIN

Se foloseste pentru a crea o imbricare externa de stanga. Rezultatul acesteia cuprinde toate inregistrarile provenite din primul tabel (cel din stanga: <tabel1>) si pe acelea pentru care exista o valoare corespunzatoare in al doilea tabel (cel din dreapta: <tabel2>).


RIGHT JOIN

Se foloseste pentru a crea o imbricare externa de dreapta. Rezultatul acesteia cuprinde toate inregistrarile provenite din al doilea tabel (cel din dreapta: <tabel2>) si pe acelea pentru care nu exista valoare corespunzatoare in primul tabel (cel din stanga: <tabel1>).


INNER JOIN

Se foloseste pentru a crea o imbricare ce nu cuprinde decat inregistrarile in care datele campurilor sunt identice.


<operator de

comparare>

Toti operatorii de comparare relationala ce sunt utilizati (=, <, >, <­ =, > =).


Exemple:


Select Clients.Cli_societate, Commandes.Cde_DateCde

From Clients INNER JOIN Commandes ON

Clients.Cli_CodeCli =Commandes.Cde_CodeCli


Lista de comenzi lansate de societate. In primul exemplu, sunt selectati doar clientii care au facut deja comenzi.

Select Clients.Cli_societate, Commandes.Cde_DateCde

From Clients LEFT JOIN Commandes ON

Clients.Cli_CodeCli =Commandes.Cde_CodeCli


In al doilea exemplu, sunt selectati toti clientii.


CLAUZA WHERE

Permite filtrarea inregistrarilor dupa anumite criterii.

Conditiile clauzei WHERE se exprima cu ajutorul operatorilor urmatori:

operatori de comparare: <, >, <­ =, > =, Is [Not] Null, [Not] In, Between.

operatori logici: And, Or, Not.


Exemplu:

SELECT * From Produse WHERE [Prod_Pret] = 500000


SELECT * From Produse WHERE [Prod_Pret]

BETWEEN 100000 AND 200000

SELECT * FROM Clienti WHERE [Cli_plata] In

(`France, `Italia, `Spania)


CLAUZA GROUP BY

Clauza GROUP BY corespunde „Totalului” interogarilor Access (numite Regrupari in versiunile anterioare). Permite regruparea datelor intr-unul sau mai multe campuri. In principal, clauza este folosita pentru executarea functiilor de agregare SQL, ca si Sum (suma), Count (calcul), Avg (medie).

Exemple:

Aceasta interogare returneaza numarul comenzilor lansate de client.

SELECT Clienti.Cli_Societate, Count(Comenzi.Cde_DateCde

AS NbComenzi

FROM Clienti

LEFT JOIN Comenzi

ON Clienti.Cli_CodeCli = Comenzi.Cde_CodeCli

GROUP BY Clienti.Cli_Societate


Aceasta interogare returneaza totalul fiecarei comenzi.

SELECT Comenzi.Cde_NumCde, Sum([Cde_Pret]*[Cde_Buc]

AS TotalCde

FROM Comenzi

INNER JOIN [Detalii Comenzi]

ON Comenzi.Cde_NumCde = [Detalii Comenzi].Cde_NumCde

GROUP BY Comenzi.Cde_NumCde


CLAUZA HAVING

Specifica inregistrarile regrupate ce trebuie afisate intr-o instructiune SELECT dotata cu o clauza GROUP BY. Odata ce regruparea este efectuata se afiseaza lista de campuri a clauzei GROUP BY si sunt selectate doar inregistrarile care respecta conditia specificata in clauza HAVING.

Exemplu:


Aceasta interogare extrage comenzile ale caror total este mai mare de


SELECT Comenzi.Cde_NumCde, Sum([Cde_Pret]*[Cde_Buc]

AS TotalCde, Commandes.Cde_DateCde FROM Comenzi

INNER JOIN [Detalii Comenzi]

ON Comenzi.Cde_NumCde = [Detalii Comenzi].Cde_NumCde

GROUP BY Comenzi.Cde_NumCde, Comenzi.Cde_DateCde

HAVING (Sum(Cde_Pret*Cde_Buc)> 2 000 000)


CLAUZA ORDER BY

Aceasta clauza determina sortarea (aranjarea in ordine crescatoare sau descrescatoare), inregistrarile rezulta dintr-o interogare in functie de campul/campurile specificat(e).

Sintaxa:

[ORDER BY camp1 [ASC|DESC][, camp2 [ASC|DESC]][,. . . ]]


ASC


Ordine crescatoare.

DESC

Ordine descrescatoare.


Exemplu:


SELECT Clienti.Cli_Soc, Count(Comenzi.Cde_DateCde)

AS NbComenzi

FROM Clienti

LEFT JOIN Comenzi

ON Clienti.Cli_CodeCli =Comenzi.Cde_CodeCli

GROUP BY Clienti.Cli_Soc

ORDER BY Count (Comenzi.Cde_DateCde) DESC


Instructiunea UPDATE

Corespunde unei interogari de actualizare care modifica valorile campurilor intr-un tabel specificat, pentru inregistrarile ce corespund criteriului dat (facultativ).

Sintaxa:

 

UPDATE table

SET camp1=valoarenoua1,[camp2=valoarenoua2]  

[WHERE criteriu]

Observatie:

Daca nu se specifica nici o clauza WHERE, toate inregistrarile sunt actualizate.

Exemple:

Aceasta interogare modifica codul tarii din toate inregistrarile tabelului Clienti.

UPDATE Clients SET Clients.Cli_Pays = „RO”


Aceasta interogare modifica in tabelul Clienti codul de tara al inregistrarilor clientilor al caror oras este „Timisoara”.

UPDATE Clients SET Clients.Cli_Pays = „RO”

Where Clienti.Cli_oras =”Timisoara


INSTRUCTIUNEA DELETE

Corespunde unei interogari DELETE ce sterge inregistrarile din tabelul mentionat in clauza FROM, dupa criteriile date (facultativ).


Sintaxa:

DELETE FROM tabel

[Where criteriu]

Observatie:

Daca nu este specificata nici o caluza WHERE, toate inregistrarile sunt sterse.

Exemplu:

Aceasta interogare sterge comezile de dinainte de 1997.

DELETE Comenzi.Cde_DateCde

FROM Comenzi

WHERE (( Comenzi.Cde_DateCde) < #1/1/1997#)


INSTRUCTIUNEA INSERT INTO

Instructiunea SQL INSERT INTO corespunde unei interogari Add care adauga inregistrari intr-un tabel.

Sintaxa

Interogare Add de adaugare a unei singure inregistrari

INSERT INTO <TabelDestinatie>[( camp1 [, camp2

VALUES ( valoare1 [, valoare2 [, ]])

Observatie:

Trebuie sa existe tot atatea valori cate coloane de valorificat, de acelasi tip si in aceeasi ordine.


Interogare Add cu una sau mai multe inregistrari:

INSERT INTO <TabelDestinatie>[( camp1 [, camp2

SELECT [<TabelSursa>.]camp1 [, camp2 [,

FROM <lista de tabele>

Observatie:

Instructiunea SELECT trebuie sa returneze atatea valori in aceeasi ordine si de acelasi tip catre coloanele de valorificat (campul instructiunii INSERT).

Exemple:

Adaugarea unei inregistrari in tabelul Clienti

INSERT INTO Clienti (Cli_CodCli, Cli_societate, Cli_oras, Cli_plata)

VALUES( `Mirton`, `Editura Mirton`, `Timisoara~, `RO`)


Adaugarea unei inregistrari din tabelul Prospecte in tabelul Clienti.

INSERT INTO Clienti

SELECT Prospecte.*

FROM Prospecte


ALTE INSTRUCTIUNI

Interogare

TRANSFORM

Creaza o interogare imbricata.


UNION


Creaza o interogare ce fuzioneaza rezultatele a doua sau mai multe tabele sau interogari.


Crearea si gestiunea de tabele

CREATE TABLE

Creaza un nou tabel.


CREATE INDEX

Creaza un nou index pentru un tabel existent.


ALTER TABLE

Modifica structura unui tabel.


DROP TABLE

Sterge tabelul din baza de date.


DROP INDEX

Sterge indexul unui tabel.


Crearea si gestiunea utilizatorilor si a grupurilor

CREATE USER

Creaza unul sau mai multi utilizatori.


ADD USER

Adauga unul sau mai multi  utilizatori grupului de utilizatori existenti


DROP USER

Sterge unul sau mai multi utilizatori.


CREATE GROUP

Creaza una sau mai multe grupe de utilizatori.


DROP GROUP

Sterge una sau mai multe grupe de utilizatori.


GRANT

Ofera privilegii specifice unui utilizator sau a unui grup de utilizatori existent.


REVOKE

Retrage privilegiile specifice ale unui utilizator sau a unui grup de utilizatori existent.






Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright