Care este forma corecta pentru a adauga constrangeri la nivel de coloana si
/sau la nivel de tabel? CREATE TABLE [schema.]nume_tabel ( nume_coloana tip_de_date, [DEFAULT expr] [constrangere_de_coloana], ... ..[constrangere la nivel de tabel]) CREATE TABLE [schema.]nume_tabel ( nume_coloana tip_de_date [DEFAULT expr], [constrangere_de_coloana] ... ..[constrangere la nivel de tabel]) CREATE TABLE [schema.]nume_tabel ( nume_coloana tip_de_date, [DEFAULT expr], [constrangere_de_coloana], ... ..[constrangere la nivel de tabel]) CREATE TABLE [schema.]nume_tabel ( nume_coloana tip_de_date [DEFAULT expr] [constrangere_de_coloana], ... ..[constrangere la nivel de tabel]) 2. Care este comanda corecta care determina marirea salariul tuturor angajatilor din tabelul salariat cu 5%? UPDATE salariu SET salariu = salariu * 1.05; UPDATE salariat SET salariu = salariu * 1.05; UPDATE salariat SET salariu = 1.05; UPDATE salariat SET salariu = salariu + salariu* 1.05; 3. Care este comanda corecta care insereaza in tabelul TOTALURI(cod_departament, numar_angajati, suma_salarii)? INSERT INTO totaluri SELECT cod_departament, COUNT(*),SUM(salariu) FROM salariat GROUP BY cod_departament; INSERT INTO totaluri SELECT cod_departament, SUM(cod_angajat),SUM(salariu) FROM salariat GROUP BY cod_departament; INSERT INTO totaluri SELECT cod_departament, COUNT(*),SUM(salariu) FROM salariat; INSERT INTO totaluri SELECT cod_departament, COUNT(),SUM(salariu) FROM salariat ORDER BY cod_departament; 4. Care comanda afiseaza numele angajatilor, fara duplicate, care au manager? SELECT DISTINCT nume FROM salariat WHERE manager IS NOT NULL; SELECT DISTINCT nume FROM salariat WHERE manager IS NULL; SELECT nume FROM salariat WHERE manager IS NOT NULL; SELECT DISTINCT nume FROM salariat WHERE manager != NULL; 5. Care este comanda corecta care pentru fiecare facultate, se insereaza in tabelul SALARII(cod_fac, nr_prof, total_sal_fac) numarul de profesori si suma salariilor pe care facultatea o plateste profesorilor sai? INSERT TO TOTALURI SELECT COD_FAC, COUNT(*) , SUM(SALARIU) FROM PROF ORDER BY COD_FAC; INSERT INTO TOTALURI SELECT COD_FAC, COUNT(*) , SUM(SALARIU) FROM PROF ; INSERT INTO TOTALURI SELECT COD_FAC, COUNT(*) , SUM(SALARIU) FROM PROF GROUP BY COD_FAC; INSERT INTO totaluri SELECT COD_FAC, SUM(COD_PROF),SUM(SALARIU) FROM PROF GROUP BY COD_FAC; 6. Care secventa este corecta pentru a afisa citi angajati nu au o valoare introdusa pe coloana salariu? SELECT COUNT() FROM salariati WHERE SALARIU =0; SELECT COUNT(*) FROM salariati WHERE SALARIU =NULL; SELECT COUNT(*) FROM salariati WHERE SALARIU IS NOT NULL; SELECT COUNT(*) FROM salariati WHERE SALARIU IS NULL; 7. Care este comanda corecta care determina dublarea salariilor cu rotunjire la 2 zecimale a angajatilor care sunt titulari? UPDATE salariat SET salariu=ROUND(salariu*2,2); UPDATE salariat SET salariu=ROUND(salariu*2) WHERE titular =’y’; UPDATE salariat SET salariu=ROUND(salariu*2,2) WHERE titular =’y’; UPDATE salariat SET salariu=ROUND(salariu*0.5,2) WHERE titular =’y’; 8. Care este comanda corecta care afiseaza numele salariatilor care castiga mai mult decat salariul mediu pe companie, in ordine crescatoare a salariului? SELECT nume FROM salariati WHERE salariu >AVG(salariu); SELECT nume FROM salariati WHERE salariu > (SELECT AVG(salariu) FROM salariati) ORDER BY salariu; SELECT nume FROM salariati WHERE salariu > (SELECT AVG(salariu) FROM salariati ORDER BY salariu); SELECT nume FROM salariati WHERE salariu > (SELECT AVG(salariu) FROM salariati) ORDER BY 1; 9. Ce comanda modifica in tabelul SALARIAT COD _ANG NUME PRENUME DATA_ANG VARSTA EMAIL SALARIU not null numeric de 5 sir de caractere de maxim 20 sir caractere de maxim 20 date, valoare implicita data curentã numeric de 2 sir de caractere de dimensiune fixa, de 30 valoare implicita 0 numar de 10 cu 2 zecimale dimensiunea coloanei nume la 30 si pe cea a coloanei salariu la 12 cu 3 zecimale? ALTER TABLE salariat MODIFY nume VARCHAR2(30), salariu NUMBER(12,3); ALTER TABLE salariat MODIFY nume VARCHAR2(30), salariu NUMBER(12,3); ALTER TABLE salariat MODIFY nume VARCHAR2(30), MODIFY salariu NUMBER(12,3); ALTER TABLE salariat MODIFY (nume VARCHAR2(30), salariu NUMBER(12,3)); 10. Care este comanda corecta care sterge valoarea coloanei salariu pentru angajatii care sunt angajati cu contract de colaborare? DELETE salariu FROM salariati WHERE contract=’colaborare’; UPDATE salariati SET salariu IS null WHERE contract=’colaborare’; DROP salariu FROM salariati WHERE contract=’colaborare’; UPDATE salariati SET salariu=null WHERE contract=’colaborare’; 11. Care este comanda incorecta care afiseaza numele, salariul si varsta pentru toti salariatii care castiga mai mult de 1000, rezultatul fiind sortat descendent dupa salariu, iar pentru cei care au acelasi salariu in ordine crescatoare dupa nume? SELECT nume, salariu, varsta FROM salariat WHERE salariu>1000 ORDER BY salariu DESC nume ASC; SELECT nume, salariu, varsta FROM salariat WHERE salariu>1000 ORDER BY salariu DESC, nume ASC; SELECT nume, salariu, varsta FROM salariat WHERE salariu>1000 ORDER BY salariu DESC, nume; SELECT nume, salariu, varsta FROM salariat WHERE salariu>1000 ORDER BY 2 DESC, 1 ASC; 12. Actualizarile realizate asupra tabelelor de baza ale unei vizualizari se reflecta totdeauna in vizualizare Adevărat Fals 13. Care este comanda corecta pentru a afisa numele, prenumele si varsta salariatilor, iar pentru cei care au varsta necunoscuta sa apara textul “varsta necunoscuta”? SE LECT nume, prenume, NVL(varsta, ‘varsta necunoscuta’) FROM salariat; SELECT nume, prenume, NVL(TO_CHAR(varsta), ‘varsta necunoscuta’) FROM salariat; SE LECT nume, prenume, NVL(CHAR(varsta), ‘varsta necunoscuta’) FROM salariat; SE LECT nume, prenume, NVL2(TO_CHAR(varsta), ‘varsta necunoscuta’) FROM salariat; 14. Care comanda afiseaza numarul de angajati din fiecare departament? SE LECT cod_departament, COUNT(*) FROM salariat; SE LECT cod_departament, SUM(cod_ angajat) FROM salariat GROUP BY cod_departament; SELECT cod_ departament, COUNT(*) FROM salariat GROUP BY cod_departament; SE LECT cod_departament, COUNT() FROM salariat GROUP BY cod_departament; 15. Pentru a introduce in tabelul SALARIAT COD _ ANG NUME PRENUME DATA_ ANG VARSTA SALARIU not null numeric de 5 sircaractere de maxim 20 sir caractere de maxim 20 date, valoare implicita data curentã numeric de 2 valoare implicita 0 numar de 10 cu 2 zecimale doua coloane: Cod_Funct si Email ce varianta folosim? ALTER TABLE SALARIAT ADD Cod_Funct NUMBER(2), ALTER COLUMN ADD Email char(25); ALTER TABLE SALARIAT ADD Cod_Funct NUMBER(2), ADD Email CHAR(25); ALTER TABLE SALARIAT ADD (Cod_Funct NUMBER(2) , Email CHAR(25)); ALTER TABLE SALARIAT ADD Cod_Funct NUMBER(2), ALTER ADD Email char(25); 16. Ce comanda creeaza tabelul SALARIAT_ 1 care sã aiba aceeiasi structura cu tabelul SALARIAT COD _ANG NUME PRENUME DATA_ANG VARSTA EMAIL SALARIU not null numeric de 5 sir de caractere de maxim 20 sir caractere de maxim 20 date, valoare implicita data curentã numeric de 2 sir de caractere de dimensiune fixa, de 30 valoare implicita 0 numar de 10 cu 2 zecimale si sa contina salariatii care au salariu >100? CRE ATE TABLE SALARIAT_1 SE LECT * FROM SALARIAT WHERE SALARIU>100; CREATE TABLE SALARIAT_ 1 AS SELECT * FROM SALARIAT WHERE SALARIU>100; CRE ATE TABLE SALARIAT_1 AS SE LECT FROM SALARIAT WHERE SALARIU>100; CRE ATE TABLE SALARIAT_1 AS SE LECT COD_ANG, SALARIU FROM SALARIAT WHERE SALARIU>100; 17. Pentru a modifica dimensiunea coloanei prenume la 30 si pe cea a salariului la 12 cu 3 zecimale, din tabelul SALARIAT COD _ANG NUME PRENUME DATA_ANG VARSTA EMAIL SALARIU not null numeric de 5 sir de caractere de maxim 20 sir caractere de maxim 20 date, valoare implicita data curentã numeric de 2 sir de caractere de dimensiune fixa, de 30 valoare implicita 0 numar de 10 cu 2 zecimale care varienta este corecta? ALTER TABLE SALARIAT MODIFY (prenume VARCHAR2(30) salariu NUMBER(12,3)); ALTER TABLE SALARIAT MODIFY (prenume VARCHAR2(30)), MODIFY(salariu NUMBE R(12,3)); ALTER TABLE SALARIAT MODIFY (prenume VARCHAR2(30) , salariu NUMBER(12,3)); ALTER TABLE SALARIAT ADD (prenume VARCHAR2(30), salariu NUMBER(12,3)); 18. Care este varianta corecta pentru a crea tabelul Salariat, cu caracteristicile de mai jos? COD _ANG NUME PRENUME DATA_ANG VARSTA EMAIL SALARIU not null numeric de 5 sir de caractere de maxim 20 sir caractere de maxim 20 date, valoare implicita data curentã numeric de 2 sir de caractere de dimensiune fixa, de 30 valoare implicita 0 numar de 10 cu 2 zecimale CREATE TABLE SALARIAT ( cod_ ang NUMBER(5) NOT NULL, nume VARCHAR2(20), prenume VARCHAR2(20), data_ angajarii DATE DEFAULT SYSDATE, varsta NUMBER(2), email CHAR(50), salariu NUMBER(10,2) DEFAULT 0); CRE ATE TABLE SALARIAT ( cod_ ang NUMBER(5) nume VARCHAR2(20), prenume VARCHAR2(20), data_ angajarii DATE , varsta NUMBER(2), email CHAR(50), salariu NUMBER(10,2) DEFAULT 0); CRE ATE TABLE SALARIAT ( cod_ ang NUMBER(5) NOT NULL, nume VARCHAR2(20), prenume VARCHAR2(20), data_ angajarii DATE, DE FAULT SYSDATE , varsta NUMBER(2), email CHAR(50), salariu NUMBER(10,2), DE FAULT 0); 19. Care varianta este corecta pentru a redenumi tabelul SALARIAT cu numele SALARIATI? RENAME SAL ARIAT TO SALARIATI; RENAME SALARIAT WITH SALARIATI; RENAME TABLE SALARIAT TO TABLE SALARIATI; RENAME TABLE SALARIAT WITH TABLE SALARIATI; 20. Care ste comanda corecta care afiseaza codul departamentelor pentru care salariul minim depaseste 5000$? SELECT cod_departament FROM salariat WHERE MIN(salariu)>5000 GROUP BY cod_departament; SE LECT cod_departament FROM salariat GROUP BY cod_departament HAVING MIN(salariu)>5000; SE LECT cod_departament FROM salariat GROUP BY cod_departament MIN(salariu)>5000; ALTE SUBIECTE TIMISOARA Care este comanda corecta care afiseaza numele si salariul angajatilor condusi direct de Ionescu Mihai? SELECT nume, salariu FROM salariati WHERE cod_sef = (SELECT cod_angajat FROM salariati WHERE nume ='Ionescu' AND prenume ='Mihai' ); SELECT nume, salariu FROM salariati WHERE cod_sef = (SELECT cod_angajat FROM salariati WHERE nume ='Ionescu', prenume ='Mihai' ); SELECT nume, salariu FROM salariati WHERE cod_sef = ‘Ionescu Mihai'; SELECT nume, salariu FROM salariati WHERE cod_sef != (SELECT cod_angajat FROM salariati WHERE nume ='Ionescu' AND prenume ='Mihai' ); Ce comanda sterge din tabelul SALARIAT COD _ANG NUME PRENUME DATA_ANG VARSTA EMAIL SALARIU not null numeric de 5 sir de caractere de maxim 20 sir caractere de maxim 20 date, valoare implicita data curentã numeric de 2 sir de caractere de dimensiune fixa, de 30 valoare implicita 0 numar de 10 cu 2 zecimale coloana nume si coloana salariu? ALTER TABLE SALARIAT DROP nume, salariu; ALTER TABLE SALARIAT DROP COLUMN (nume, salariu); ALTER TABLE SALARIAT DROP (nume, salariu); ALTER TABLE SALARIAT DROP COLUMN nume, COLUMN salariu; Care este comanda corecta care afiseaza numele salariatilor care lucreaza in departamentul 3 si au salariul >100 sau care sunt din departamentul 5 si au salariul <200? SELECT nume FROM salariat WHERE (cod_deptartament=3 OR salariu>100) AND (cod_deptartament=5 OR salariu<200); SELECT nume FROM salariat WHERE (cod_deptartament=3 AND salariu>100) OR (cod_deptartament=5 AND salariu<200); SELECT nume FROM salariat WHERE (cod_deptartament=3 AND salariu>100) AND (cod_deptartament=5 AND salariu<200); SELECT nume FROM salariat WHERE (cod_deptartament=3 AND salariu>100) OR (cod_deptartament=5 OR salariu<200); Care dintre urmatoarele comenzi intoarce numarul zilei din luna carespunzator datei curente? SELECT TO_CHAR(SYSDATE,’DDD’) FROM dual; SELECT TO_CHAR(SYSDATE,’DAY’) FROM dual; SELECT TO_CHAR(SYSDATE,’D’) FROM dual; SELECT TO_CHAR(SYSDATE,’DD’) FROM dual; Care este comanda corecta care afiseaza numele salariatilor si numele departamentelor in care lucreaza, inclusiv departamentele in care nu lucreaza salariati? SELECT nume_salariat, nume_departament FROM salariati s, departamente d WHERE s.cod_departament = d.cod_departament; SELECT nume_salariat, nume_departament FROM salariati s, departamente d WHERE s.cod_departament(+) = d.cod_departament; SELECT nume_salariat, nume_departament FROM salariati s, departamente d WHERE s.cod_departament = d.cod_departament(+); SELECT nume_salariat, nume_departament FROM salariati s, departamente d WHERE s.cod_departament(+) = d.cod_departament(+); Pentru a insera in tabelul SALARIAT inregistrari, COD _ANG NUME PRENUME DATA_ANG VARSTA EMAIL SALARIU not null numeric de 5 sir caractere de maxim 20 sir caractere de maxim 20 date, valoare implicita data curentã numeric de 2 sir de caractere de dimensiune fixa, de 30 valoare implicita 0 numar de 10 cu 2 zecimale care varianta este incorecta? INSERT INTO SALARIAT(COD _ANG, NUME,PRENUME,DATA_ANG,VARSTA,EMAIL, SALARIU) VALUES(5, ‘Ene’, ‘Ana’, ‘1/06/2009’, 20, ‘INTERZIS PE FORUM CU ADRESE DE EMAIL.com’, 2500.50) INSERT INTO SALARIAT(COD _ANG, NUME,PRENUME, VARSTA, EMAIL) VALUES(5, ‘Ene’, ‘Ana’, 20, ‘INTERZIS PE FORUM CU ADRESE DE EMAIL.com’) INSERT INTO SALARIAT(COD _ANG, NUME,PRENUME,VARSTA,EMAIL, SALARIU) VALUES(5, ‘Ene’, ‘Ana’, ‘1/06/2009’, 20, ‘INTERZIS PE FORUM CU ADRESE DE EMAIL.com’) INSERT INTO SALARIAT VALUES(5, ‘Ene’, ‘Ana’, ‘1/06/2009’, 20, ‘INTERZIS PE FORUM CU ADRESE DE EMAIL.com’, 2500.50) Ce comanda creeaza tabelul SALARIAT_1 care sã aiba aceeiasi structura cu tabelul SALARIAT COD _ANG NUME PRENUME DATA_ANG VARSTA EMAIL SALARIU not null numeric de 5 sir de caractere de maxim 20 sir caractere de maxim 20 date, valoare implicita data curentã numeric de 2 sir de caractere de dimensiune fixa, de 30 valoare implicita 0 numar de 10 cu 2 zecimale si sa contina salariatii care au salariu >100? CREATE TABLE SALARIAT_1 SELECT * FROM SALARIAT WHERE SALARIU>100; CREATE TABLE SALARIAT_1 AS SELECT * FROM SALARIAT WHERE SALARIU>100; CREATE TABLE SALARIAT_1 AS SELECT FROM SALARIAT WHERE SALARIU>100; CREATE TABLE SALARIAT_1 AS SELECT COD_ANG, SALARIU FROM SALARIAT WHERE SALARIU>100; Care este comanda nu elimina simultan spatiile de la inceputul si sfarsitul coloanei nume? SELECT TRIM(nume) FROM salariat; SELECT RTRIM(LTRIM(nume)) FROM salariat; SELECT LTRIM(RTRIM(nume)) FROM salariat; SELECT LTRIM(nume) FROM salariat; 2. Care este comanda corecta care afiseaza toate functiile pe care nu lucreaza angazatii? 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) Raspuns D. ALTE TESTE 3-Care este comanda corecta care afiseaza numele cititorilor care au carti nerestituite? SELECT nume_ cititor FROM imprumuta WHERE data_ restituirii = NULL; SE LECT nume_cititor FROM imprumuta WHERE data_ restituirii IS NOT NULL; SELECT nume_ cititor FROM imprumuta WHERE data_ restituirii IS NULL; SE LECT nume_cititor FROM imprumuta WHERE data_ restituirii > SYSDATE; 6-Care comanda nu defineste corect un tabel? CREATE TABLE [schema.]nume_ tabel ( nume_coloana tip_de_date [DEFAULT expr], ...); CREATE TABLE nume_ tabel [(col1, col2...)] AS subcerere; CREATE TABLE [schema.]nume_ tabel ( nume_ coloana tip_de_date, [DEFAULT expr], [constrangere_de_coloana], ...); CREATE TABLE [schema.]nume_ tabel ( nume_coloana tip_de_date [DEFAULT expr] [constrangere_ de_coloana], ... ..[constrangere la nivel de tabel]) 8-Ce comanda creeaza corect tabelul SALARIAT, specificand constrangerile COD _ ANG NUME PRENUME DATA_ANG VARSTA EMAIL SALARIU cheie primara numeric de 5 not null sir decaractere demaxim 20 sir caractere de maxim 20 date, valoare implicita data curentã numeric de 2 unic sir de caractere de dimensiune fixa, de 30 > 0 numar de 10 cu 2 zecimale coloana nume si coloana salariu? CREATE TABLE salariat( cod_ ang NUMBER(5) PRIMARY KEY, nume VARCHAR2(20) NOT NULL, prenume VARCHAR2(20), data_ ang DATE DEFAULT SYSDATE, varsta NUMBER(2), email CHAR(30) UNIQUE, salariu NUMBER(10,2) CHECK (salariu > 0)); CREATE TABLE salariat( cod_ ang NUMBER(5) PRIMARY KE Y, nume VARCHAR2(20) NOT NULL, prenume VARCHAR2(20), data_ ang DATE DEFAULT SYSDATE , varsta NUMBER(2), email CHAR(30) UNIQUE , salariu NUMBER(10,2) > 0)); CREATE TABLE salariat( cod_ ang NUMBER(5) PRIMARY KE Y, nume VARCHAR2(20) NOT NULL, prenume VARCHAR2(20), data_ ang DATE DEFAULT SYSDATE , varsta NUMBER(2), email CHAR(30), salariu NUMBER(10,2) CHECK (salariu > 0)); 9-Care este comanda corecta care afiseaza numele si salariul angajatilor condusi direct de ‘ENE DAN’? SELECT nume, salariu FROM salariati WHERE cod_manager = (SELE CT cod_manager FROM salariati WHERE UPPER(nume) ='ENE ' , UPPER(pren) ='DAN' ); SE LECT nume, salariu FROM salariati WHERE cod_manager = (SELE CT cod_ang FROM salariati WHERE nume ='ENE' , pren ='DAN' ); SE LECT nume, salariu FROM salariati (SE LECT cod_ang FROM salariati WHERE UPPER(nume) ='ENE ' AND UPPER(pren) ='DAN' ); SELECT nume, salariu FROM salariati WHERE cod_manager = (SELECT cod_ ang FROM salariati WHERE UPPER(nume) ='ENE' AND UPPER(pren) ='DAN' ); 10. Care este comanda corecta care afiseaza numarul total al cartilor imprumutate in anul 2008? SELECT COUNT() FROM imprumuta WHERE TO_CHAR(data_ imprumutului,’yyyy’)=2008; SELECT COUNT(*) FROM imprumuta WHERE TO_CHAR(data_ imprumutului,’yyyy’)=2008; SE LECT COUNT(*) FROM imprumuta WHERE data_ imprumutului=2008; SE LECT COUNT(*) FROM imprumuta WHERE TO_CHAR(data_ imprumutului,’yy’)=2008; 14-Care comanda listeaza numele tuturor angajatilor care au a treia litera din nume 'a'? SELECT nume FROM salariat WHERE nume LIKE '_ _a$'; SELECT nume FROM salariat WHERE nume LIKE '%a%'; SELECT nume FROM salariat WHERE nume LIKE '__ a%'; 15-Care este comanda corecta care afiseaza toate departamentele care platesc salariatilor sai o suma mai mare ca 20000? SELECT nume_ departament FROM departament WHERE 20000< (SE LECT sum(salariu) FROM salariat); SE LECT nume_departament FROM departament A WHERE 20000< (SE LECT sum(salariu) FROM salariat B where cod_ departament=cod_departament); SE LECT nume_departament FROM departament WHERE 20000< (SE LECT sum(salariu) FROM salariat where A.cod_ departament=B.cod_departament); SELECT nume_departament FROM departament A WHERE 20000< (SELECT sum(salariu) FROM salariat B where A.cod_departament=B.cod_departament); 18-Care este comanda corecta care afiseaza codul departamentelor, numele departamentelor si suma salariilor pentru fiecare departament? SELECT cod_ departament, nume_departament, SUM(salariu) FROM salariati s, departamente d GROUP BY cod_departament, nume_departament; SE LECT cod_departament, nume_ departament, SUM(salariu) FROM salariati s, departamente d WHERE s.cod_ departament=d.cod_departament GROUP BY cod_departament; 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; SE LECT cod_departament, nume_ departament, SUM(salariu) FROM salariati, departamente WHERE s.cod_ departament=d.cod_departament GROUP BY cod_departament, nume_departament; 19-Care este comanda corecta care sa afiseze daca exista angajati care nu lucreaza in departamentul ‘Contractari’ si al caror salariu coincide cu salariul unui angajat din departamentul ‘Contractari’? SELECT nume, salariu, cod_depart FROM salariati WHERE salariu IN (SELECT salariu FROM salariati s, department d WHERE s.cod_depart = d.cod_depart AND nume_depart <> ‘Contractari’) AND cod_depart= (SELECT cod_depart FROM department WHERE nume_depart = ‘Contractari’); SE LECT nume, salariu, cod_depart FROM salariati WHERE salariu IS IN (SELECT salariu FROM salariati s, department d WHERE s.cod_ depart = d.cod_ depart , nume_ depart = ‘Contractari’) AND cod_depart<> (SELECT cod_depart FROM department WHERE nume_depart = ‘Contractari’); SE LECT nume, salariu, cod_depart FROM salariati WHERE (salariu) IN (SELECT salariu FROM salariati s, department d WHERE s.cod_ depart = d.cod_ depart AND nume_depart = ‘Contractari’) AND cod_depart<> (SELECT cod_depart FROM department WHERE nume_depart = ‘Contractari’); teste fotografii care nu se regasesc mai sus 1.Care este comanda corecta care afiseaza numarul total de carti dintr-o biblioteca pentru fiecare domeniu: SELECT cod_domeniu, COUNT(numar_exemplare) FROM biblioteca GROUP BY cod_domeniu; SELECT cod_domeniu, SUM(numar_exemplare) FROM biblioteca GROUP BY cod_domeniu; SELECT cod_domeniu, SUM(cod_carte) FROM biblioteca GROUP BY cod_domeniu; SELECT cod_domeniu, COUNT(*) FROM biblioteca GROUP BY cod_domeniu; 2.Pentru tabelul salariat cod_depart cod_ang# nume pren salariu cod_funct care este comanda corecta, pentru a modifica salariul la 3000, pentru angajatii care lucreaza in departamentul 10 si au salariul <3000? UPDATE salariat SET salariu=3000 WHERE cod_depart=10 AND salariu<3000; MODIFY salariat SET salariu=3000 WHERE cod_depart=10, salariu<3000; UPDATE salariat SET cod_depart=10 AND salariu<3000 WHERE salariu=3000; MODIFY salariat SET salariu=3000 WHERE cod_depart=10 AND salariu<3000; 3.Care este comanda corecta care listeaza numele ale functiilor care exista in departamentul 30, fara duplicate SELECT DISTINCT nume_functie FROM salariati s, functii f WHERE cod_functie=cod_functie AND cod_departament=30; SELECT DISTINCT nume_functie FROM salariati s, functii f WHERE s.cod_functie=f.cod_functie AND cod_departament=30; SELECT DISTINCT nume_functie FROM salariati, functii f WHERE s.cod_functie=f.cod_functie AND cod_departament=30; SELECT nume_functie FROM salariati s, functii f WHERE s.cod_functie=f.cod_functie AND cod_departament=30; 4.Care este comanda corecta care determina micsorarea salariilro cu 10%, cu rotunjire la 2 zecimale, a angajatilor care sunt titulari UPDATE salariat SET salariu=ROUND(salariu*0.9,2); UPDATE salariat SET salariu=ROUND(salariu*1,1) WHERE titular='N'; UPDATE salariat SET salariu=ROUND(salariu*0.9,2) WHERE titular='N'; UPDATE salariat SET salariu=ROUND(salariu*0.1,2) WHERE titular='Y'; 5.O constrangere de tip PRIMARY KEY poate fi declarata numai la nivel de coloana A/F 6.Efectele unei comenzi DDL pot fi anulate cu o comanda ROLLBACK A/F 7.Efectele unei comenzi DML pot fi anulate cu o comanda ROLLBACK A/F 8.Care este comanda corecta care se afiseaza numele si prenumele pentru toti angajatii cu varsta necunoscuta? SELECT nume, prenume FROM salariat WHERE varsta=NULL; SELECT nume, prenume FROM salariat WHERE varsta IS NULL; SELECT nume, prenume FROM salariat WHERE varsta=0; SELECT nume, prenume FROM salariat WHERE varsta IS NOT NULL; 9.Care este comanda corecta care determina micsorarea salariilro cu 10%, cu rotunjire la 2 zecimale, a angajatilor care NU sunt titulari UPDATE salariat SET salariu=ROUND(salariu*0.9,2); UPDATE salariat SET salariu=ROUND(salariu*1,1) WHERE titular='N'; UPDATE salariat SET salariu=ROUND(salariu*0.9,2) WHERE titular="N"; UPDATE salariat SET salariu=ROUND(salariu*0.1,2) WHERE titular='Y'; 10.Pot fi eliminate mai multe coloane dintr-un tabel folosind o singura comanda ALTER TABLE ... DROP COLUMN A/F 11.Care este comanda corecta care afiseaza numele si data angajarii pentru salariatii care au fost angajati dupa angajatul avand codul 10, in ordine descrescatoare a numelui? SELECT nume, data_angajarii FROM salariat WHERE data_angajarii > (SELECT data_angajarii FROM salariat WHERE cod_angajat = 10); SELECT nume, data_angajarii FROM salariat WHERE data_angajarii > (SELECT data_angajarii FROM salariat WHERE cod_angajat = 10) ORDER BY nume; SELECT nume, data_angajarii FROM salariat WHERE data_angajarii > (SELECT data_angajarii FROM salariat WHERE cod_angajat = 10) ORDER BY nume DESC; SELECT nume, data_angajarii FROM salariat WHERE data_angajarii > (SELECT * FROM salariat WHERE cod_angajat = 10) ORDER BY nume DESC;