Explorați Cărți electronice
Categorii
Explorați Cărți audio
Categorii
Explorați Reviste
Categorii
Explorați Documente
Categorii
Care este forma corecta pentru a adauga constrangeri la nivel de coloana si /sau 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;
SELECT nume
FROM salariat
WHERE manager IS NOT 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;
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;
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?
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”?
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);
ALTE R T ABLE S ALAR IAT ADD Cod_ F unct NUMBE R (2), ALTE R ADD E mail char(25);
18. C are es te varianta c orecta pentru a c rea tabelul Salariat, cu carac teris ticile de mai jos?
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?
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?
INSERT INTO SALARIAT(COD _ANG, NUME,PRENUME, VARSTA, EMAIL) VALUES(5, ‘Ene’, ‘Ana’, 20,
‘INTERZIS PE FORUM CU ADRESE DE EMAIL.com’)
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 ;
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?
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’?
care este comanda corecta, pentru a modifica salariul la 3000, pentru angajatii care lucreaza
in departamentul 10 si au salariul <3000?
3.Care este comanda corecta care listeaza numele ale functiilor care exista in departamentul
30, fara duplicate
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
A/F
A/F
8.Care este comanda corecta care se afiseaza numele si prenumele pentru toti angajatii cu
varsta necunoscuta?
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?