Documente Academic
Documente Profesional
Documente Cultură
Baze de Date Exemple Interogari SQL
Baze de Date Exemple Interogari SQL
SELECT FACTURI.NRFACT,
FACTURI.DATAFACT,
FACTURI.CODFISCAL, [CONTINUT
FACTURA].CODISBN, [CONTINUT FACTURA].CANTITATE,
[CONTINUT FACTURA].PRETF, [CONTINUT FACTURA].CANTITATE
*[CONTINUT FACTURA].PRETF AS VALOARE
FROM FACTURI, [CONTINUT FACTURA]
WHERE FACTURI.NRFACT=[CONTINUT FACTURA].NRFACT;
3 tabele
Sa se afiseze informatii privind facturile emise inclusiv valoarea facturata pe fiecare
CODISBN si pentru fiecare client.
SELECT FACTURI.NRFACT, FACTURI.DATAFACT, FACTURI.CODFISCAL,
[CONTINUT FACTURA].CODISBN, [CONTINUT FACTURA].CANTITATE, [CONTINUT
FACTURA].PRETF, [CONTINUT FACTURA].CANTITATE
*[CONTINUT FACTURA].PRETF AS VALOARE,
CLIENTI.CODFISCAL, CLIENTI.DENUMIRECL
FROM FACTURI, [CONTINUT FACTURA], CLIENTI
WHERE FACTURI.NRFACT=[CONTINUT FACTURA].NRFACT AND
CLIENTI.CODFISCAL=FACTURI.CODFISCAL;
COMPUNERE CU JOIN
a) Cu INNER JOIN
SELECT FACTURI.NRFACT, FACTURI.DATAFACT, FACTURI.CODFISCAL,
[CONTINUT FACTURA].CODISBN, [CONTINUT FACTURA].CANTITATE, [CONTINUT
FACTURA].PRETF, [CONTINUT FACTURA].CANTITATE*[CONTINUT
FACTURA].PRETF AS VALOARE
FROM FACTURI INNER JOIN [CONTINUT FACTURA] ON
FACTURI.NRFACT=[CONTINUT FACTURA].NRFACT;
b) Cu LEFT JOIN
SELECT FACTURI.NRFACT, FACTURI.DATAFACT, FACTURI.CODFISCAL,
[CONTINUT FACTURA].CODISBN, [CONTINUT FACTURA].CANTITATE, [CONTINUT
FACTURA].PRETF, [CONTINUT FACTURA].CANTITATE*[CONTINUT
FACTURA].PRETF AS VALOARE
FROM FACTURI LEFT JOIN [CONTINUT FACTURA] ON
FACTURI.NRFACT=[CONTINUT FACTURA].NRFACT;
c) Cu RIGHT JOIN
SELECT FACTURI.NRFACT, FACTURI.DATAFACT, FACTURI.CODFISCAL,
[CONTINUT FACTURA].CODISBN, [CONTINUT FACTURA].CANTITATE, [CONTINUT
FACTURA].PRETF, [CONTINUT FACTURA].CANTITATE*[CONTINUT
FACTURA].PRETF AS VALOARE
FROM FACTURI RIGHT JOIN [CONTINUT FACTURA] ON
FACTURI.NRFACT=[CONTINUT FACTURA].NRFACT;
d. Cu 3 tabele
Sa se calculeze valoarea facturilor pe fiecare client cu specificarea continutului facturilor.
SELECT Facturi.[Numar Factura], Facturi.[Data Facturii], [Continut Factura].Cantitate,
[Continut Factura].[Pret f], [Cantitate]*[Pret f] AS Valoare,
Clienti.[Cod Fiscal], Clienti.[Denumire Client]
FROM Clienti INNER JOIN Facturi
(INNER JOIN [Continut Factura] ON Facturi.[Numar Factura] = [Continut Factura].
[Numar Factura])
ON Clienti.[Cod Fiscal] = Facturi.[Cod Fiscal];
Functii agregat
SELECT DISTINCT Max(a5) AS [a5_Maxim], Min(a5) AS [a5_Minim], Avg(a5) AS
[a5_Medie] FROM A;
SELECT COUNT(*) AS [Numr de tupluri]
FROM A;
Afiarea valorii pe fiecare carte facturat n luna martie 2013
SELECT Facturi.[Numar Factura],
[Continut Factura].[Cod ISBN],
Month([Data Facturii]) AS Luna,
Year([Data Facturii]) AS Anul,
[Cantitate]*[Pret f] AS Valoare
FROM Facturi INNER JOIN [Continut Factura] ON Facturi.[Numar Factura] = [Continut
Factura].[Numar Factura]
WHERE Month([Data Facturii])=3 AND Year([Data Facturii])=2013;
Adaugarea de inregistrari in tabelul CLIENTI-NOI din tabelul CLIENTI
INSERT INTO [CLIENTI-NOI] ( [COD-CL], [DEN-CL] )
SELECT CLIENTI.[COD-CL], CLIENTI.[DEN-CL]
FROM CLIENTI WHERE [COD-CL]=1 OR [COD-CL]=5;
Adaugarea de inregistrari in tabelul FACTURI-NOI din tabelul FACTURI
INSERT INTO FACTURI ( [NR-FACTURA], [COD-CL], [COD-MARFA], CANTITATE,
PRET, DATA )
SELECT [FACTURI-NOI].[NR-FACTURA], [FACTURI-NOI].[COD-CL], [FACTURINOI].[COD-MARFA], [FACTURI-NOI].CANTITATE, [FACTURI-NOI].PRET,
[FACTURI-NOI].DATA FROM [FACTURI-NOI]
WHERE ([facturi-noi].[COD-MARFA]=2) AND ([FACTURI-NOI].DATA>#3/3/2012#);
Afiarea totalului cantitilor facturate pe fiecare marf i pentru fiecare client.
TRANSFORM Sum([CLIENTI-MARFURI-FACTURI].CANTITATE) AS
SumaCANTITATE
SELECT [CLIENTI-MARFURI-FACTURI].[DEN-MARFA]
FROM [CLIENTI-MARFURI-FACTURI]
GROUP BY [CLIENTI-MARFURI-FACTURI].[DEN-MARFA]
PIVOT [CLIENTI-MARFURI-FACTURI].[DEN-CL];
S se tearg din tabelul Facturi nregistrarile care au
nr-factura=2.
DELETE *
FROM FACTURI
WHERE ((FACTURI.[NR-FACTURA])=2);
Sinteza pe client- afiarea totalului valoric pentru mrfurile facturate pe fiecare client
SELECT [CLIENTI-MARFURI-FACTURI].[COD-CL], [CLIENTI-MARFURIFACTURI].[DEN-CL], Sum([CLIENTI-MARFURI-FACTURI].VALOARE) AS
SumOfVALOARE
FROM [CLIENTI-MARFURI-FACTURI]
GROUP BY [CLIENTI-MARFURI-FACTURI].[COD-CL], [CLIENTI-MARFURIFACTURI].[DEN-CL];
Compunere cu join
SELECT CLIENTI.[COD-CL], CLIENTI.[DEN-CL], LIVRARI.[COD-MARFA],
LIVRARI.CANTITATE
FROM CLIENTI INNER JOIN LIVRARI ON CLIENTI.[COD-CL] = LIVRARI.[CODCLIENT];
Majorarea cu 20% a pretului n facturile clientilor avnd codul>20.
UPDATE [facturi-noi]
SET PRET = pret*1.2
WHERE ([cod-cl]>20);
Afiarea informaiilor despre un client pentru care localitatea se va introduce ca
parametru de la tastatura calculatorului.
SELECT CLIENTI.[COD-CL], CLIENTI.[DEN-CL], CLIENTI.LOCALITATE
FROM CLIENTI
WHERE ((CLIENTI.LOCALITATE)=[INTRODUCETI LOCALITATE=]);
Reuniunea tabelului CLIENTI cu Tabelul CLIENTI ARAD
SELECT [CodFiscal],[DenumireCL],Localitate,Telefon
FROM Clienti
UNION SELECT [CodFiscal],[DenumireCl],Localitate,Telefon
FROM [Clienti Arad]
ORDER BY Localitate, [DenumireCl];
Din ce localitate sunt clienii ce au n factur codfiscal=555555555.
SELECT CLIENTI.[CODFISCAL], CLIENTI.LOCALITATE
FROM CLIENTI
WHERE CLIENTI.[CODFISCAL] IN
(SELECT FACTURI.[CODFISCAL]
FROM FACTURI
WHERE FACTURI.[CODFISCAL]="555555555");
Din ce localiti sunt clienii ce nu au n factur codfiscal=555555555.
4. Lista furnizorilor din Iasi, Cluj si Deva care au data contractului n intervalul
(1.01.2012-31.12.2013)
SELECT FURNIZORI.codfz, FURNIZORI.denfz, FURNIZORI.localitate,
CONTRACTE.NRCONTRACT, CONTRACTE.DATA, CONTRACTE.VALOARE
FROM FURNIZORI RIGHT JOIN CONTRACTE ON FURNIZORI.codfz =
CONTRACTE.CODFZ
WHERE (((FURNIZORI.localitate)="iasi" Or (FURNIZORI.localitate)="cluj" Or
(FURNIZORI.localitate)="deva") AND ((CONTRACTE.DATA) Between (#1/1/2012#)
And (#12/31/2013#)));
5.