wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

SIG - SQL - Limbajul de interogare a bazelor de date Oracle

Total questions: 10

Worksheet time: 20mins

Name
Class
Date
1.

Se consideră tabela:

CHITANTE (NrChitanta, Suma, DataChitanta, NrGhiseu )

Care dintre următoarele interogări SQL are ca efect afișarea zilelor în care s-au emis mai mult de 2 chitanțe ?

a)

A. SELECT NrChitanta, Suma, DataChitanta FROM CHITANTE WHERE

COUNT(NrChitanta) > 2

b)

B. SELECT NrChitanta, Suma, DataChitanta FROM CHITANTE HAVING

COUNT(NrChitanta) > 2

c)

C. SELECT CHITANTE.DataChitanta FROM CHITANTE GROUP BY DataChitanta HAVING COUNT(NrChitanta) > 2

d)

D. SELECT COUNT(DataChitanta), COUNT(NrChitanta) FROM CHITANTE WHERE DataChitanta IS Unique

2.

Se consideră tabela:

ANGAJATI (CodAngajat, Nume, DataAngajare, Compartiment, Profesia, Salariu)

Care dintre următoarele interogări SQL permite afișarea numărului de salariați pentru fiecare compartiment care începe cu litera ”A” ?

a)

A. SELECT CodAngajat, Nume, Compartiment FROM ANGAJATI WHERE Nume LIKE A%

b)

B. SELECT COUNT(CodAngajat) AS Număr, Nume, Compartiment FROM ANGAJATI WHERE Nume LIKE ”A%” GROUP BY Compartiment

c)

C. SELECT CodAngajat, Nume, Compartiment FROM ANGAJATI WHERE Compartiment LIKE A*

d)

D. SELECT COUNT(CodAngajat) AS Număr, Compartiment FROM ANGAJATI WHERE Compartiment LIKE ”A%” GROUP BY Compartiment

3.

Se consideră ca existente următoarele două tabele:

STUDENTI(CodStud, NumeStud, Facultate, LoculNasterii)

PROFESORI(CodProf, NumeProf, Catedra, GradDidactic, LoculNasterii)

Care dintre următoarele variante de interogare SQL va returna studenții si profesorii din provincie?

a)

A. SELECT CodStud, NumeStud, LoculNasterii, CodProf, NumeProf, LoculNasterii FROM STUDENTI, PROFESORI WHERE LoculNasterii != ”Bucuresti”

b)

B. SELECT CodStud, NumeStud, LoculNasterii, CodProf, NumeProf, LoculNasterii FROM STUDENTI, PROFESORI WHERE LoculNasterii = ”Provincie”

c)

C. SELECT CodStud, NumeStud, LoculNasterii FROM STUDENTI WHERE

LoculNasterii = ”Provincie” UNION

SELECT CodProf, NumeStud, LoculNasterii FROM PROFESORI WHERE

LoculNasterii = ”Provincie”

d)

D. SELECT CodStud, NumeStud, LoculNasterii FROM STUDENTI WHERE

LoculNasterii != ”Bucuresti” UNION

SELECT CodProf, NumeProf, LoculNasterii FROM PROFESORI WHERE

LoculNasterii != ”Bucuresti”

4.

Se consideră următoarele două tabele relaționate:

CLIENTI (CodCL, Nume, Oraș, Adresa, Telefon, ContBancar)

FACTURI (NrFactura, DataFact, Valoare, CodCL)

Care dintre următoarele interogări SQL permite afișarea numelor clienților pentru care NU au fost emise facturi în data de 1 mai 2016 ?

a)

A. SELECT Facturi.DataFact, Clienti.Nume FROM Facturi LEFT JOIN Clienti ON Facturi.CodCL = Clienti.CodCL WHERE Facturi.DataFact = {^2016/05/01} GROUP BY Facturi.DataFact HAVING COUNT(Clienti.Nume) = 0

b)

B. SELECT Facturi.DataFact, Clienti.Nume FROM Clienti INNER JOIN Facturi ON Clienti.CodCL = Facturi.CodCL WHERE Facturi.DataFact = {^2016/05/01} GROUP BY Facturi.DataFact HAVING COUNT(Facturi.NrFactura) = 0

c)

C. SELECT Facturi.CodCL, Clienti.Nume FROM Clienti INNER JOIN Facturi ON Facturi.CodCL = Clienti.CodCL WHERE Facturi.DataFact NOT IN ({^2016/05/01}) AND Facturi.NrFactura IS NULL

d)

D. SELECT Nume FROM Clienti WHERE Clienti.CodCL NOT IN (SELECT CodCL FROM Facturi WHERE DataFact = {^2016/05/01})

5.

Se consideră tabela:

ANGAJATI (CodAngaj, Nume, DataAngajare, Compartiment, Profesia, Salariu)

Care dintre următoarele comenzi SQL permite majorarea salariului cu 1% pentru salariații angajați în anul 2015?

a)

A. UPDATE Angajati SET Salariu = Salariu + 1% WHERE DataAngajare IN 2015

b)

B. UPDATE Salariu FROM Angajati SET Salariu=Salariu + 1% * Salariu FROM Angajati WHERE DataAngajare IN (#1/1/2015# , #31/12/2015#)

c)

C. UPDATE Salariu FROM Angajati SET Salariu=Salariu + 1% * Salariu FROM Angajati WHERE DataAngajare IN (#1/1/2015# , #31/12/2015#)

d)

D. UPDATE Angajati SET Salariu = Salariu * 1.01 WHERE YEAR(DataAngajare) = 2015

6.

Se consideră următoarele două tabele relaționate:

PROFESORI (Cod_prof, Cod_fac, Nume, Prenume, Salariu)

FACULTATI (Cod_fac, Denumire, Adresa)

Care este interogarea SQL ce permite afișarea tuturor profesorilor și a denumirii facultăților la care predau aceștia, ordonați alfabetic după denumirea facultăților ?

a)

A. SELECT Nume, Prenume, Denumire FROM Facultati, Profesori WHERE A.Cod_fac = B.Cod_fac ORDER BY Facultati.Denumire

b)

B. SELECT Profesori.Nume, Profesori.Prenume, Facultati.Denumire FROM Facultati, Profesori WHERE Facultati.Cod_fac = Profesori.Cod_fac ORDER BY Facultati.Denumire

c)

C. SELECT Nume, Prenume, Denumire FROM Facultati, Profesori WHERE Facultati.Cod_fac = Profesori.Cod_fac

d)

D. SELECT Profesori.Nume, Profesori.Prenume, Facultati.Denumire FROM Facultati, Profesori WHERE Facultati.Cod_fac = Profesori.Cod_fac ORDER BY Profesori.Nume

7.

Se consideră tabela:

SALARIATI (CodSalariat, Nume, Prenume, DataAngajare, Departament, Functia, Salariu)

Care este interogarea SQL care afișează numele salariaților care câștiga mai mult decât salariul mediu pe companie, în ordine crescătoare a salariului ?

a)

A. SELECT Nume FROM Salariati WHERE Salariu >

AVG(Salariu)

b)

B. SELECT Nume FROM Salariati WHERE Salariu > (SELECT AVG(Salariu) FROM Salariati) ORDER BY Salariu

c)

C. SELECT Nume FROM Salariati WHERE Salariu > (SELECT AVG(Salariu) FROM Salariati ORDER BY Salariu)

d)

D. SELECT Nume FROM Salariati WHERE Salariu > (SELECT AVG(Salariu) FROM Salariati) ORDER BY 1

8.

Se consideră următoarele două tabele relaționate:

SALARIATI (Marca, Cod_functie, Nume, Prenume, Salariu)

FUNCTII (Cod_functie, Denumire)

Care este interogarea SQL ce afișează toate funcțiile pentru care nu există angajați ?

a)

A. SELECT Cod_functie FROM Functii WHERE Cod_functie IN (SELECT Cod_functie FROM Salariati WHERE Cod_functie IS NOT NULL)

b)

B. SELECT Cod_functie FROM Functii WHERE Cod_functie NOT IN (SELECT Cod_functie FROM Salariati WHERE Cod_functie IS NULL)

c)

C. SELECT Cod_functie FROM Functii WHERE Cod_functie NOT IN (SELECT Cod_functie FROM Salariati)

d)

D. SELECT Cod_functie FROM Functii WHERE Cod_functie NOT IN (SELECT Cod_functie FROM Salariati WHERE Cod_functie IS NOT NULL)

9.

Se consideră tabela:

SALARIATI (CodSalariat, Nume, Prenume, Departament, Salariu, Contract)

Care este comanda SQL care anulează toate valorile existente în câmpul Salariu, din tabela SALARIATI, pentru acei salariați care sunt angajați cu contract de colaborare ?

a)

A. DELETE Salariu FROM Salariati WHERE Contract = ”colaborare”

b)

B. UPDATE Salariati SET Salariu = 0 WHERE Contract = ”colaborare”

c)

C. DROP Salariu FROM Salariati WHERE Contract = ”colaborare”

d)

D. UPDATE Salariati SET Salariu IS NULL WHERE Contract = ”colaborare”

10.

Se consideră, ca existente, următoarele două tabele, relaționate:

FURNIZORI (codfurnizor, nume, dataachizitiei, codprodus, cantitate)

PRODUSE (codprodus, denumire, categorie, pret)

Care dintre următoarele interogări SQL are ca efect afișarea unei liste cu produsele care care au fost achiziționate în cantități cuprinse între 50 și 100, sortate alfabetic, după denumire ?

a)

A. SELECT denumire, nume FROM produse INNER JOIN furnizori ON produse.codprodus= furnizori.codfurnizor WHERE cantitate BETWEEN 50 AND 100 ORDER BY Produse.denumire ASC

b)

B. SELECT codprodus FROM produse INNER JOIN furnizori ON produse.codprodus= furnizori.codfurnizor WHERE cantitate BETWEEN 50 AND 100 SORT BY Produse.denumire ASC

c)

C. SELECT Produse.denumire, Furnizori.cantitate FROM produse, furnizori WHERE produse.codprodus = furnizori.codprodus AND Furnizori.cantitate BETWEEN 50 AND 100 ORDER BY Produse.denumire ASC

d)

D. SELECT denumire FROM produse INNER JOIN furnizori ON produse.codprodus= furnizori.codprodus WHERE 50 < cantitate <50 SORT BY Produse.denumire ASC