Documente Academic
Documente Profesional
Documente Cultură
34. Care este varianta corecta pentru a crea tabelul CARTE, cu caracteristicile de mai jos, indicand cheile la nive
de coloana?
(Tabelele DOMENIU_CARTE si CARTE sunt in relatia 1:M)
care este secventa corecta pentru a modifica salariile cu 10% , care nu contin valori NULL?
a. UPDATE PROF SET SALARIU = SALARIU*1.1
WHERE SALARIU NOT NULL;
b. UPDATE PROF SET SALARIU = SALARIU*1.1
WHERE SALARIU IS NOT NULL;
c. UPDATE PROF SElLECT SALARIU = SALARIU*1.1
WHERE SALARIU <>0;
49. Pentru tabelul PROF
cod_prof# cod_fac nume pren salariu cod_funct
care este secventa corecta pentru a sterge toate cadrele didactice care sunt profesori consultanti?
a. DELETE FROM PROF WHERE
b. COD_FUNCT=’C’;
c. DELETE PROF WHERE COD_FUNCT<>’C’;
d. DROP FROM PROF WHERE COD_FUNCT=’C’;
DROP
50. Pentru tabelul:PROF WHERE COD_FUNCT=’C’;
FAC
cod_fac# denumire adresa
care este secventa corecta pentru o inserare, folosind instructiunea SELECT
care este secventa corecta pentru a afisa toti profesorii impreuna cu media _ salariu pentru fiecare
facultate , rotunjita la doua pozitii zecimale
a. SELECT COD_FAC,
ROUND (AVG (SALARIU), 2) AS
FROM PROF medie_salariu
ORDER BY COD_FAC;
b. SELECT COD_FAC,
ROUND (AVG (SALARIU, 2) AS
FROM PROF medie_salariu
GROUP BY COD_FAC;
c. SELECT COD_FAC,
ROUND (AVG (SALARIU), 2) AS
FROM PROF medie_salariu
GROUP BY COD_FAC;
d. SELECT FROM PROF COD_FAC,
ROUND AVG (SALARIU), 2 AS
medie_salariu
GROUP BY COD_FAC;
52. Pentru
tabelul
cod_prof# cod_fac nume pren salariu
care este secventa corecta pentru a afisa suma salariilor tuturor profesorilor din universitate.
a. SELECT SUM (Salariu) AS Total_Salariu
FROM PROF;
b. SELECT SUM (Salariu) AS Total_Salariu
FROM PROF
GROUP BY COD_FAC;
c. SELECT SALARIU, SUM (Salariu) AS
Total_Salariu
d. FROM PROF;
SELECT COD_FAC, SUM (Salariu) AS Total_Salariu
53. PentruFROM PROF;
tabelul
cod_prof# cod_fac nume pren salariu
care este secventa corecta pentru a afisa toti profesorii pentru care COD_FAC =1 si
salariu>=1200, sau toti profesorii pentru care COD_FAC =3 si salariu < 2000.
FAC
cod_fac# denumire adresa
care este secventa corecta pentru o interogare de uniune interna(inner join) care sa afiseze toti profesorii si
denumirile facultatilor la care predau, in ordinea crescatoare a denumirilor
a. SELECT NUME, PREN, DENUMIRE
FROM FAC, PROF
WHERE A.COD_FAC =B.COD_FAC
ORDER BY FAC.DENUMIRE;
b. SELECT NUME, PREN, DENUMIRE
FROM FAC, PROF
WHERE
FAC.COD_FAC=PROF.COD_FAC ORDER
BY FAC.DENUMIRE;
c. SELECT NUME, PREN, DENUMIRE
FROM FAC, PROF
WHERE FAC.COD_FAC=PROF.COD_FAC;
58. a.Să SELECT
se obtinapentru
codcfiecare carte, codul sau şi numarul de exemplare care nu au fost inca restituite.
FROM IMPRUMUTA
WHERE dataef IS
NULL
GROUP BY codc;
b. SELECT COUNT(*)
FROM
IMPRUMUTA
GROUP BY codc;
c. SELECT codc,
COUNT(*)
FROM IMPRUMUTA
WHERE
GROUP BY dataef codc;
IS
d. SELECT COUNT(*)
FROM
IMPRUMUTA
WHERE
GROUP BY dataef =0 codc;
59. Care este secventa corecta care să afişeze numărul cărŃilor împrumutate cel puŃin de
două ori
(pentru fiecare carte împrumutată mai mult decât o dată să se obŃină numărul de câte o
a fost împrumutată).
a. SELECT
COUNT(COUNT(codel))
FROM imprumuta
GROUP BY codcarte
b. HAVING COUNT(*)>1;
SELECT COUNT(codel)
FROM imprumuta
GROUP BY codcarte
HAVING COUNT(*)>1;
c. SELECT COUNT(COUNT(codel))
FROM imprumuta
WHERE COUNT(*)>1;
d. SELECT COUNT(codel)
FROM imprumuta
ORDERBY BY codcarte
HAVING COUNT(*)>1;
60. Care este secventa corecta care afiseaza pentru fiecare domeniu de carte, numărul
cărŃilor din domeniu, media preŃurilor şi numărul total de exemplare
FAC
cod_fac# denumire adresa
care este secventa corecta pentru o interogare de uniune externa catre stanga, care sa afiseze toti profesorii si
denumirile facultatilor la care predau
care este secventa corecta pentru o subinterogare necorelata, care sa afiseze toate functiile pentru care nu
exista profesorii incadrati
a. SELECT cod_funct, nume_funct
FROM functii
WHERE cod_funct NOT IN
(SELECT DISTINCT cod_funct FROM
b. prof);
SELECT cod_funct, nume_funct
FROM functii
WHERE cod_funct NOT IN
c. SELECT DISTINCT cod_funct FROM prof;
SELECT cod_funct, nume_funct
FROM functii
WHERE cod_funct IN
63. Care(SELECT
este comandacod_funct
corecta careFROM
pentruprof);
fiecare facultate, se insereaza in tabelul TOTALURI(cod_fac,
nr_prof, total_sal_fac) numarul de profesori si suma salariilor pe care facultatea o plateste profesorilor sai?
a. INSERT TO TOTALURI
SELECT COD_FAC, COUNT(*) , SUM(SALARIU)
FROM PROF ORDER BY COD_FAC;
b. INSERT INTO TOTALURI
SELECT COD_FAC, COUNT(*) , SUM(SALARIU)
FROM PROF ;
c. INSERT INTO TOTALURI
SELECT COD_FAC, COUNT(*) ,
SUM(SALARIU) FROM PROF
GROUP BY COD_FAC;
d. INSERT INTO TOTALURI
SELECT COD_FAC, SUM(COD_PROF), SUM(SALARIU)
FROM PROF
GROUP BY COD_FAC;
64. Să se obŃină titlurile şi preŃurile cărŃilor mai scumpe decât cartea având titlul “Baze de date”, al cărui
autor este Popescu (self join).
a. DELETE salariu
FROM salariati
WHERE contract=’colaborare’;
b. UPDATE salariati
SET salariu IS null
WHERE contract=’colaborare’;
c. DROP salariu
FROM salariati
WHERE contract=’colaborare’;
d. UPDATE salariati
SET salariu=null
WHERE contract=’colaborare’;
78. Care este comanda corecta care afiseaza codul departamentelor, numele departamentelor si suma salariilor
pentru fiecare departament?
a. SELECT cod_departament, nume_departament, SUM(salariu)
FROM salariati s, departamente d
GROUP BY cod_departament, nume_departament;
b. SELECT cod_departament, nume_departament, SUM(salariu)
FROM salariati s, departamente d
WHERE s.cod_departament=d.cod_departament
GROUP BY cod_departament;
c. SELECT cod_departament, nume_departament,
SUM(salariu) FROM salariati s, departamente d
WHERE s.cod_departament=d.cod_departament
GROUP BY cod_departament, nume_departament;
d. SELECT cod_departament, nume_departament, SUM(salariu)
FROM salariati, departamente
WHERE s.cod_departament=d.cod_departament
GROUP BY cod_departament, nume_departament;
79. Care este comanda corecta care afiseaza numele salariatilor care castiga mai mult decat salariul
mediu pe
companie,
a. SELECT in ordine
nume crescatoare a salariului?
FROM salariati
WHERE salariu >AVG(salariu);
b. SELECT nume
FROM salariati
WHERE salariu > (SELECT AVG(salariu) FROM
salariati) ORDER BY salariu;
c. SELECT nume
FROM salariati
WHERE salariu > (SELECT AVG(salariu) FROM salariati
ORDER BY salariu);
d. SELECT nume
FROM salariati
WHERE salariu > (SELECT AVG(salariu) FROM salariati)
ORDER BY 1;
80. Care este comanda corecta care afiseaza toate functiile pe care nu lucreaza angajati?
a. SELECT cod_functie
FROM functii
WHERE cod_functie IN
(SELECT cod_functie FROM salariati WHERE cod_functie IS NOT NULL);
b. SELECT cod_functie
FROM functii
WHERE cod_functie NOT IN
(SELECT cod_functie FROM salariati WHERE cod_functie IS NULL);
c. SELECT cod_functie
FROM functii
WHERE cod_functie NOT IN
(SELECT cod_functie FROM salariati);
d. SELECT cod_functie
FROM functii
WHERE cod_functie NOT IN
(SELECT cod_functie FROM salariati WHERE cod_functie IS NOT
NULL);