1. 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 F als 13. C are es te comanda corec ta pentru a afis a numele, prenumele s i vars ta salariatilor, iar pentru c ei care au vars ta nec unoscuta s a apara textul “vars ta necunos cuta”? S E LE CT nume, prenume, NVL(varsta, ‘varsta necunoscuta’) F R OM salariat; SE LE CT nume, prenume, NVL(TO_ CHAR(vars ta), ‘varsta necunos cuta’) FROM s alariat; S E LE CT nume, prenume, NVL(C HAR (varsta), ‘varsta necunoscuta’) F R OM salariat;
S E LE CT nume, prenume, NVL2(TO_ CHAR (varsta), ‘varsta necunoscuta’) F R OM salariat; 14. C are comanda afiseaza numarul de angajati din fiecare departament? S E LE CT cod_ departament, C OUNT(*) F R OM salariat; S E LE CT cod_ departament, S UM(cod_ angajat) F R OM salariat GR OUP BY cod_ departament; SE LE CT c od_ departament, C OUNT(*) FROM s alariat GROUP BY cod_ departament; S E LE CT cod_ departament, C OUNT() F R OM salariat GR OUP BY cod_ departament; 15. Pentru a introduce in tabelul S AL AR IAT COD _ ANG
NUME
PR E NUME
DATA_ ANG
VAR S T A
S ALAR IU
not null numeric de 5
sircaractere de ma xim 20
sir caractere de ma xim 20
date, valoare implicita data curentã
numeric de 2
valoare implicita 0 numar de 10 cu 2 zecimale
doua coloane: Cod_ Funct s i E mail ce varianta folos im? ALTE R T ABLE S ALAR IAT ADD Cod_ F unct NUMBE R (2), ALTE R C OLUMN ADD E mail char(25); ALTE R T ABLE S ALAR IAT ADD Cod_ F unct NUMBE R (2), ADD E mail CHAR (25); AL TE R TABLE S AL AR IAT ADD (C od_ F unc t NUMB E R(2) , E mail C HAR(25)); ALTE R T ABLE S ALAR IAT ADD Cod_ F unct NUMBE R (2), ALTE R ADD E mail char(25); 16. C e c omanda c reeaza tabelul S AL AR IAT_ 1 care sã aiba aceeias i s tructura cu tabelul S AL AR IAT 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
s i s a c ontina salariatii c are au salariu >100? CR E ATE T ABLE S ALAR IAT_ 1
S E LE CT * FR OM S ALAR IAT WHE R E S AL AR IU>100; CRE ATE TABLE S AL AR IAT_ 1 AS SE LE CT * FROM S AL AR IAT WHE R E S AL AR IU>100; CR E ATE T ABLE S ALAR IAT_ 1 AS S E LE CT FR OM S ALAR IAT WHE R E S AL AR IU>100; CR E ATE T ABLE S ALAR IAT_ 1 AS S E LE CT C OD_ ANG , S AL AR IU F R OM S ALAR IAT WHE R E S ALAR IU>100; 17. Pentru a modifica dimens iunea coloanei prenume la 30 s i pe cea a salariului la 12 cu 3 zecimale, din tabelul S AL AR IAT 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 es te corecta? ALTE R T ABLE S ALAR IAT MODIF Y (prenume VAR CHAR 2(30) salariu NUMBE R (12,3)); ALTE R T ABLE S ALAR IAT MODIF Y (prenume VAR CHAR 2(30)), MODIF Y (salariu NUMBE R (12,3)); AL TE R TABLE S AL AR IAT MODIFY (prenume VARCHAR2(30) , s alariu NUMBE R(12,3)); ALTE R T ABLE S ALAR IAT ADD (prenume VAR CHAR 2(30), salariu NUMBE R (12,3)); 18. C are es te varianta c orecta pentru a c rea tabelul Salariat, cu carac teris ticile 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
CRE ATE TABLE S AL AR IAT ( c od_ ang NUMBE R (5) NOT NULL, nume VARCHAR 2(20), prenume VARCHAR2(20), data_ angajarii DATE DE FAULT SYSDATE , vars ta NUMBE R(2),
email C HAR(50), s alariu NUMBE R (10,2) DE FAULT 0); CR E ATE T ABLE S ALAR IAT ( cod_ ang NUMB E R (5) nume VAR CHAR 2(20), prenume VAR C HAR 2(20), data_ angajarii DAT E , varsta NUMBE R (2), email C HAR (50), salariu NUMB E R (10,2) DE F AULT 0); CR E ATE T ABLE S ALAR IAT ( cod_ ang NUMB E R (5) NOT NULL , nume VAR CHAR 2(20), prenume VAR C HAR 2(20), data_ angajarii DAT E , DE FAULT S YS DATE , varsta NUMBE R (2), email C HAR (50), salariu NUMB E R (10,2), DE F AULT 0); 19. C are varianta es te c orecta pentru a redenumi tabelul S AL AR IAT c u numele S AL AR IATI? RE NAME R E NAME R E NAME R E NAME
S AL AR IAT TO S AL AR IATI; S ALAR IAT WITH S ALAR IAT I; T ABLE S ALAR IAT T O T ABL E S AL AR IAT I; T ABLE S ALAR IAT WITH T ABLE S ALAR IAT I;
20. C are s te comanda c orecta care afis eaza codul departamentelor pentru care s alariul minim depases te 5000$? SE LE CT cod_ departament FROM s alariat WHE R E MIN(s alariu)>5000 GROUP BY cod_ departament; S E LE CT cod_ departament F R OM salariat GR OUP BY cod_ departament HAVING MIN(salariu)>5000; S E LE CT cod_ departament F R OM salariat GR OUP 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? S E L E CT nume_ cititor F R OM imprumuta WHE R E data_ restituirii = NULL ; S E LE CT nume_ cititor F R OM imprumuta WHE R E data_ restituirii IS NOT NULL; SE LE CT nume_ cititor FROM imprumuta WHE R E data_ res tituirii IS NULL; S E LE CT nume_ cititor F R OM imprumuta WHE R E data_ restituirii > S YS DAT E ; 6-Care c omanda nu defineste corect un tabel? C R E AT E T ABL E [schema.]nume_ tabel ( nume_ coloana tip_ de_ date [DE F AULT expr], ...); C R E AT E T ABLE nume_ tabel [(col1, col2...)] AS subcerere; C RE ATE TABLE [sc hema.]nume_ tabel ( nume_ coloana tip_ de_ date, [DE FAULT expr], [cons trangere_ de_ coloana], ...); C R E AT E T ABLE [schema.]nume_ tabel ( nume_ coloana tip_ de_ date [DE F AULT expr] [constrangere_ de_ coloana], ...
..[constrangere la nivel de tabel]) 8-Ce comanda creeaza corect tabelul S ALAR IAT , specificand constrangerile COD _ ANG NUME P R E NUME DATA_ ANG VAR S TA E MAIL S AL AR IU 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? C RE ATE TAB LE salariat( c od_ ang NUMBE R (5) PRIMAR Y KE Y, nume VARCHAR 2(20) NOT NUL L, prenume VARCHAR2(20), data_ ang DATE DE F AULT SYSDATE , vars ta NUMBE R(2), email C HAR(30) UNIQUE , s alariu NUMBE R (10,2) C HE CK (salariu > 0)); C R E AT E T ABL E salariat( cod_ ang NUMB E R (5) PR IMAR Y KE Y , nume VAR CHAR 2(20) NOT NULL, prenume VAR C HAR 2(20), data_ ang DAT E DE F AULT S YS DATE , varsta NUMBE R (2), email C HAR (30) UNIQUE , salariu NUMB E R (10,2) > 0)); C R E AT E T ABLE salariat( cod_ ang NUMB E R (5) PR IMAR Y KE Y , nume VAR CHAR 2(20) NOT NULL, prenume VAR C HAR 2(20), data_ ang DAT E DE F AULT S YS DATE , varsta NUMBE R (2), email C HAR (30), salariu NUMB E R (10,2) C HE C K (salariu > 0)); 9-Care este comanda corecta care afiseaza numele si salariul angajatilor condusi direct de ‘E NE DAN’? S E L E CT nume, salariu F R OM salariati WHE R E cod_ manager = (S E LE CT cod_ manager FR OM salariati WHE R E UPPE R (nume) ='E NE ' , UPPE R (pren) ='DAN' ); S E LE CT nume, salariu F R OM salariati WHE R E cod_ manager = (S E LE CT cod_ ang F R OM salariati WHE R E nume ='E NE ' , pren ='DAN' ); S E LE CT nume, salariu F R OM salariati (S E LE CT cod_ ang FR OM salariati WHE R E UPPE R (nume) ='E NE ' AND UPPE R (pren) ='DAN' ); SE LE CT nume, s alariu
FROM s alariati WHE RE cod_ manager = (SE LE CT c od_ ang FROM salariati WHE RE UPPE R (nume) ='E NE ' AND UPPE R(pren) ='DAN' ); 10. C are este comanda corecta care afiseaza numarul total al cartilor imprumutate in anul 2008? S E L E CT COUNT() F R OM imprumuta WHE R E TO_ C HAR (data_ imprumutului,’yyyy’)=2008; SE LE CT C OUNT(*) FROM imprumuta WHE R E TO_ C HAR(data_ imprumutului,’yyyy’)=2008; S E LE CT C OUNT (*) F R OM imprumuta WHE R E data_ imprumutului=2008; S E LE CT C OUNT (*) F R OM imprumuta WHE R E TO_ C HAR (data_ imprumutului,’yy’)=2008; 14-C are comanda listeaza numele tuturor angajatilor care au a treia litera din nume 'a'? S E L E CT nume F R OM salariat WHE R E nume L IK E '_ _ a$'; S E LE C T nume F R OM salariat WHE R E nume L IK E '%a%'; S E LE C T nume F ROM s alariat WHE RE nume LIKE '_ _ a%'; 15-C are este comanda corecta care afiseaza toate departamentele care platesc salariatilor sai o suma mai mare ca 20000? S E L E CT nume_ departament F R OM departament WHE R E 20000< (S E LE CT sum(salariu) FR OM salariat); S E LE CT nume_ departament F R OM departament A WHE R E 20000< (S E LE CT sum(salariu) FR OM salariat B where cod_ departament=cod_ departament); S E LE CT nume_ departament F R OM departament WHE R E 20000< (S E LE CT sum(salariu) FR OM salariat where A.cod_ departament=B.cod_ departament); SE LE CT nume_ departament
FROM departament A WHE RE 20000< (SE LE CT s um(salariu) FROM s alariat B where A.cod_ departament=B.cod_ departament); 18-C are este comanda corecta care afiseaza codul departamentelor, numele departamentelor si suma salariilor pentru fiecare departament? S E L E CT cod_ departament, nume_ departament, S UM(salariu) F R OM salariati s , departamente d GR OUP BY cod_ departament, nume_ departament; S E LE CT cod_ departament, nume_ departament, S UM(salariu) F R OM salariati s , departamente d WHE R E s.cod_ departament=d.cod_ departament GR OUP BY cod_ departament; SE LE CT cod_ departament, nume_ departament, SUM(salariu) FROM s alariati s , departamente d WHE R E s .cod_ departament=d.cod_ departament GROUP BY cod_ departament, nume_ departament; S E LE CT cod_ departament, nume_ departament, S UM(salariu) F R OM salariati, departamente WHE R E s.cod_ departament=d.cod_ departament GR OUP BY cod_ departament, nume_ departament; 19-C are este comanda corecta care sa afiseze daca exista angajati care nu lucreaza in departamentul ‘C ontractari’ s i al caror salariu coincide cu salariul unui angajat din departamentul ‘C ontractari’? SE L E CT nume, s alariu, cod_ depart F ROM s alariati WHE R E salariu IN (SE L E CT s alariu FROM s alariati s , department d WHE R E s .cod_ depart = d.cod_ depart AND nume_ depart <> ‘C ontractari’) AND c od_ depart= (SE LE CT cod_ depart FR OM department WHE R E nume_ depart = ‘Contrac tari’); S E LE CT nume, salariu, cod_ depart F R OM salariati WHE R E salariu IS IN (S E L E CT salariu FR OM salariati s, department d WHE R E s.cod_ depart = d.cod_ depart , nume_ depart = ‘Contractari’) AND cod_ depart<> (S E LE CT cod_ depart F R OM department WHE R E nume_ depart = ‘C ontractari’); S E LE CT nume, salariu, cod_ depart F R OM salariati WHE R E (salariu) IN (S E LE CT salariu F R OM salariati s, department d WHE R E s.cod_ depart = d.cod_ depart AND nume_ depart = ‘C ontractari’) AND cod_ depart<> (S E LE CT cod_ depart F R OM department WHE R E nume_ depart = ‘C ontractari’);
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;