Sunteți pe pagina 1din 8

LAB1

1. Utilizând modul vizual sa se creeze tabela produse1 cu următoarele coloane:

a. id_produs AUTONUMBER
b. denumire SHORT TEXT(255), INDEXAT
c. pret NUMBER, DOUBLE
d. cantitate NUMBER, INTEGER
e. descriere LONG TEXT
f. data_expirare DATE/TIME, SHORT DATE, regula de validare data_expirare>DATE(),
text de validare “Data calendaristica incorecta”
g. poza OLE

2. Utilizând comanda SQL sa se creeze tabela produse2 cu coloanele

3. Utilizând modul vizual sa se afiseze datele (tuplurile) corespunzatoare tabelei produse1.

4. Utilizând comenzi SQL sa se afiseze datele (tuplurile) corespunzatoare tabelei produse2.

LAB2

1. Să se afișeze structura tabelei produse1

ALTER TABLE produse2 ADD COLUMN culoare VARCHAR(100)

ALTER TABLE produse2 ADD COLUMN culoare_produs VARCHAR(100)

2. Utilizând modul vizual/comanda SQL în tabela produse1/produse2 să se adauge o nouă coloană

cu denumirea culoare, tip SHORT TEXT

ALTER TABLE produse2 DROP COLUMN culoare_produs

4. Utilizând modul vizual/comanda SQL în tabela produse1/produse2 să se redenumească coloana

cu denumirea culoare, la culoare_produs.

ALTER TABLE produse2 DROP COLUMN culoare_produs

DROP TABLE produse3

9. Utilizând modul vizual/comanda SQL în tabela produse1/produse2 să se modifice campul

denumire ‚pix1’ la ‘pix3’ .

ALTER TABLE produse22 ALTER COLUMN pret CURRENCY


LAB3 TEMA 1

1. Să se afişeze întreaga tabelă produse (produse1).


SELECT * FROM produse1
2. Să se afişeze numai câmpurile denumire, pret, cantitate, data_expirare.
SELECT denumire, pret, cantitate, data_expirare FROM produse1

3. Să se afişeze produsele cu preţul cuprins între 1.7 şi 10.


SELECT * FROM produse1 WHERE pret>1.7 and pret<10

4. Să se afişeze produsele cu cantitatea mai mică de 10 sau cantitatea mai mare de 1000.
SELECT * FROM produse1 WHERE cantitate<10 or cantitate>1000

5. Să se afişeze produsele cu pretul egal cu 2, 3 sau 15.


SELECT * FROM produse1 WHERE pret=2 or pret=3 or pret=15

6. Să se afişeze produsele cu pretul diferit de 2, 3 sau 15.


SELECT * FROM produse1 WHERE (((produse1.pret)<>2 And (produse1.pret)<>3 And
(produse1.pret)<>15))

7. Să se afişeze denumirea produselor, concatenat cu preţul concatenat cu cantitate într-o


singură coloană cu denumirea “pret si cantitate”.
SELECT denumire, pret & " x " & cantitate AS ["pret si cantitate"] FROM produse1

8. Să se afişeze culorile produselor în mod distinct într-o coloană cu denumirea “culori distincte”.
SELECT DISTINCT culoare AS ["culori distincte"] FROM produse1

9. Să se afişeze denumirea produselor cu majuscule, minuscule.


SELECT UCase(denumire) AS nume1, LCase(denumire) AS nume2 FROM produse1
10. Să se afişeze denumirea produselor care conţin şirul de caractere “ma”.
SELECT * FROM produse1 WHERE denumire LIKE "*ma*"
11. Să se afişeze produsele a căror denumire se citeşte de la tastatură (se va introduce
produsul „mouse3”).
SELECT * FROM produse1 WHERE denumire LIKE denumire1

12. Să se afişeze pentru fiecare produs valoarea pret*cantitate într-o coloană cu denumirea
“valoare totală”.
SELECT pret & "x" & cantitate AS ["valoare totala"], * FROM produse1

13. Să se afişeze produsele ordonate crescator dupa cantitate.


SELECT * FROM produse1 ORDER BY cantitate

14. Să se afişeze produsele ordonate descrescator dupa cantitate.


SELECT * FROM produse1 ORDER BY cantitate DESC
LAB3 TEMA 2

1. Să se afişeze întreaga tabelă clienti (clienti1).


SELECT * FROM clienti1

2. Să se afişeze numai câmpurile nume, prenume şi telefon.


SELECT nume_client, prenume, telefon FROM clienti1

3. Să se afişeze clientii cu prenumele Ion sau Ioana.


SELECT * FROM clienti1 WHERE prenume IN ("Ion", "Ioana")

4. Să se afişeze clientii care locuiesc în Galati.


SELECT * FROM clienti1 WHERE judet="Galati"

5. Să se afişeze clientii care locuiesc în Galati sau Braila.


SELECT * FROM clienti1 WHERE judet IN ("Galati", "Braila")

6. Să se afişeze clientii care nu locuiesc în Galati sau Braila.


SELECT * FROM clienti1 WHERE judet NOT IN ("Galati", "Braila")

7. Să se afişeze clientii născuţi în luna iunie.


SELECT * FROM clienti1 WHERE DatePart('m',data_nasterii)=6

8. Pentru clienţii născuţi anterior anului 2004, să se adauge la câmpul adresă şirul de
caractere ‘Romania’.
SELECT nume_client, prenume, data_nasterii, adresa & ' Romania' AS adresaR FROM clienti1
WHERE DatePart('yyyy', data_nasterii)<2004

9. Să se afişeze numele, concatenat cu prenumele într-o singură coloană cu denumirea “nume


si prenume”.
SELECT nume_client & ' si ' & prenume AS ["nume si prenume"] FROM clienti1

10. Să se afişeze prenumele clienţilor în mod distinct într-o coloană cu denumirea “prenume
distincte”.
SELECT DISTINCT prenume AS ["prenume distincte"] FROM clienti1

11. Să se afişeze numele şi prenumele clienţilor cu majuscule.


SELECT UCase(nume_client), UCase(prenume) FROM clienti1

12. Să se afişeze numele clienţilor care conţin litera “i”.


SELECT nume_client, prenume FROM clienti1 WHERE nume_client LIKE "*i*"

13. Să se afişeze datele unui client al cărui nume se citeşte de la tastatură (se va citi „Dima”).
SELECT * FROM clienti1 WHERE nume_client LIKE nume

14. Să se afişeze clienţii sortaţi descrescator după data naşterii.


SELECT * FROM clienti1 ORDER BY data_nasterii DESC
LAB4 TEMA 1

1. Să se afişeze produsele expirate.

SELECT produse1.denumire, produse1.data_expirare FROM produse1 WHERE


(((produse1.data_expirare)<Date()))

2. Să se afişeze produsele care expira in iunie 2018.


SELECT * FROM PRODUSE2 WHERE DATEPART('m',data_expirare)='6' and
datepart('yyyy',data_expirare)='2018'

3. Să se afişeze produsele care expira in data de 24.02 2017.


SELECT * FROM PRODUSE2 WHERE DATEPART('dd', data_expirare)='24' and
datepart('m',data_expirare)='2' and datepart('yyyy', data_expirare)='2017'

4. Sa se afiseze produsele in a caror denumire exista sirul de caractere “ou” incepand de pe


pozitia 2.
5. Sa se afiseze denumirea produselor a caror denumire contine cel mult patru litere.
6. Sa se afiseze pretul celor mai scumpe produse.
SELECT MAX(pret) AS ["pret maxim"] FROM produse2

7. Sa se afiseze cate produse au pretul cuprins intre 10 si 100.


8. Sa se afiseze cantitatea totala de produse existenta in magazine.
SELECT SUM(cantitate) AS ["cantitate totala"] FROM produse2

9. Sa se afiseze pretul mediu al produselor existente in magazin.


SELECT AVG(pret) AS ["pret mediu"] FROM produse2

10. Să se afișeze denumirea produselor ce au aceeași culoare cu produsul ‘tv1’


11. Să se afișeze denumirea produselor cu prețul cel mai mic.
SELECT DENUMIRE, PRET FROM produse1 WHERE pret=(select MIN(pret)from produse1)

12. Să se afișeze denumirea produselor cu prețul cel mai mare.


13. Să se afișeze denumirea produselor cu prețul mai mare decât prețul mediu al tuturor
produselor din magazin.
14. Să se afișeze valoarea produselor grupate după culoare.
SELECT SUM(pret*cantitate) AS ["valoare"] FROM produse1 GROUP BY culoare

15. Să se afișeze cel mai scump produs din fiecare culoare culoare.
SELECT MAX(pret) AS ["pret maxim"], culoare FROM produse1 GROUP BY culoare

16. Să se afișeze câte produse corespund fiecărei culori în parte.


SELECT COUNT(denumire) AS ["cate"], culoare FROM produse1 GROUP BY culoare

17. Să se afișeze denumirea, pretul, cantitatea si pretul celui mai scump produs din fiecare
culoare .
SELECT denumire, pret, culoare FROM produse1 WHERE pret in(select MAX(pret) from
produse1 group by culoare)

18. Să se afișeze valoarea totala a produselor grupate după culoare, pentru produsele cu
cantitatea >=100.
SELECT SUM(pret*cantitate) FROM produse1 WHERE cantitate >=100 GROUP BY culoare

19. Să se afișeze valoarea produselor grupate după culoare, pentru produsele cu culoarea alb
sau rosu.
SELECT SUM(pret*cantitate), culoare FROM produse1 WHERE culoare='alb' or culoare='rosu'
GROUP BY culoare

LAB4 TEMA 2

1. Să se afişeze numele clientilor nascuti dupa anul 2000.


2. Să se afişeze numele clientilor care isi sarbatoresc ziua de nastere astazi.
3. Sa se afiseze judetele in a caror denumire exista sirul de caractere “la” pe incepand de pe
pozitia 3.
4. Sa se afiseze prenumele clientilor care contine cel putin patru litere.
5. Sa se afiseze cati clienti isi sarbatoresc ziua de nastere astazi.
6. Pentru fiecare client in parte sa se afiseze varsta acestuia in ani, luni, zile.
7. Sa se afiseze data de nastere a celui mai tanar client.
8. Sa se afiseze data de nastere a celui mai batran client.
9. Sa se afiseze varsta medie a clientilor.
10. Să se afișeze numele si prenumele celui mai tânăr client din magazin.
11. Să se afișeze numele si prenumele celui mai bătrân client din magazin.
12. Să se calculeze și să se afișeze vârsta medie a clienților magazinului on-line.
13. Să se afișeze numele și prenumele clienților care locuiesc în același oraș cu ‘Popescu Maria’
14. Să se afișeze clienții din magazin grupați după județul de domiciliu.
15. Să se afișeze clienții din magazin grupați după județul de domiciliu, numai pentru clienții
care locuiesc în Galati sau Bucuresti.
LAB5 TEMA 1

Considerand baza de date magazin5, cu următoarele tabele:

produse (id_produs(PK), denumire, pret, cantitate, descriere, data_expirare, culoare) clienti(id_client,


nume,prenume,adresa,judet,telefon,email,data_nastere,casatorit) vanzari(id_vanzare, id_produs,
id_client, data_vanzare, cantitate)

1. Sa se identifice CHEILE si legaturile asociate tabelelor (candidat, PK, alternative si FK)


2. In baza de date magazin5 sa se defineasca aceste chei.

3. (Interogare 1:1) Pentru fiecare vanzare sa se afiseze: data_vanzare, denumire


produs, cantitate vanduta.

SELECT vanzari.data_vanzare, produse.denumire,vanzari.cantitate FROM vanzari,produse


WHERE vanzari.id_produs=produse.id_produs
4. (Interogare 1:1) Pentru fiecare vanzare sa se afiseze: data_vanzare, denumire
produs, cantitate vanduta, nume client.
SELECT vanzari.data_vanzare,
produse.denumire,vanzari.cantitate,clienti.nume FROM
vanzari,produse,clienti WHERE vanzari.id_produs=produse.id_produs and
vanzari.id_client=clienti.id_client
5. (Interogare 1:n) Pentru produsul pix1 sa se afiseze: data_vanzare, cantitate vanduta
si nume client.
SELECT p.denumire,v.data_vanzare,v.cantitate,c.nume FROM vanzari v,produse p,clienti c
WHERE v.id_produs=p.id_produs and v.id_client=c.id_client and p.denumire=’pix1’
6. Câte produse a cumparat clientul Popescu Mircea din magazin ?
SELECT COUNT(id_vanzare) as "Nr prod cumparate" from vanzari,clienti where
nume='Popescu' and prenume='Mircea'
7. Ce valoare totală s-a încasat din vânzarea produsului pix1 ?
SELECT SUM(v.cantitate*pret) as "valoare totala" from vanzari v,
produse p where v.id_produs=p.id_produs and denumire='pix1'
8. Ce valoare totală s-a încasat din vânzarea produsului cu pret minim ?
SELECT SUM(v.cantitate*pret) as "valoare totala" from vanzari v,
produse p where v.id_produs=p.id_produs and pret=(select MIN(pret)
from produse)
9. Sa se afiseze numarul de produse vandute corespunzator fiecarei culori.
SELECT Sum(v.cantitate), culoare FROM produse p, vanzari v WHERE
p.id_produs=v.id_produs GROUP BY culoare
LAB5 TEMA 2

Considerand baza de date ugal5:

student (cnp, nr_matricol, nume, prenume)


facultate(cod_facultate, facultate, adresa, profil)
specializare(cod_specializare, specializare, forma)
profesor(cnp, nume, prenume, obiect)
card_acces(nr_card, valabilitate)

1. Sa se identifice CHEILE si legaturile asociate tabelelor (candidat, PK, alternative si FK)


2. In baza de date ugal5 sa se defineasca aceste chei.
3. (Interogare 1:1) Pentru fiecare profesor sa se afiseze datele legitimatiei de acces
(vizual si sql)
SELECT p.nume, p.prenume, c.nr_card, c.valabilitate FROM profesor AS p,
card_acces AS c WHERE p.nr_card=c.nr_card
4. (Interogare 1:n) Pentru fiecare student sa se afiseze numele, prenumele si
specializarea (vizual si sql)
SELECT student.nume, student.prenume, specializare.specializare FROM
specializare, student WHERE
student.cod_specializare=specializare.cod_specializare
5. (Interogare 1:n) Pentru fiecare profesor sa se afiseze numele, prenumele, obiectul
si specializarile la care preda (vizual si sql)
SELECT p.nume, p.prenume, p.obiect, s.specializare FROM specializare AS s,
profesor AS p WHERE p.cod_specializare=s.cod_specializare
6. (Interogare n:n) Pentru fiecare student sa se afiseze profesorii care ii predau.(vizual
si sql)
SELECT student.nume, student.prenume, profesor.nume, profesor.prenume,
specializare.Specializare FROM student, profesor, specializare WHERE
profesor.cod_specializare=specializare.cod_specializare and
student.cod_specializare=specializare.cod_specializare
7. (Interogare n:n) Pentru fiecare profesor sa se afiseze studentii carora ii predau. (vizual
si sql)
SELECT p.nume, p.prenume, s.prenume, s.nume FROM profesor AS p, student AS s
WHERE p.cod_specializare=s.cod_specializare
8. Sa se afiseze numele studentilor care au ca profesori cu numele „Dima” (vizual si sql)
SELECT s.nume, s.prenume, p.nume, p.prenume FROM student AS s, profesor AS p
WHERE p.nume="Dima" and p.cod_specializare=s.cod_specializare
9. Sa se afiseze toti profesorii care predau la specializarea „FB” (vizual si sql)
SELECT p.nume, p.prenume FROM specializare, profesor AS p WHERE
p.cod_specializare=specializare.cod_specializare and specializare='FB'
10. Sa se afiseze cati profesorii predau la specializarea „FB” (vizual si sql)
SELECT Count([nr_card]) AS ["Nr profesori FB"] FROM profesor AS p, specializare AS s
WHERE (((p.cod_specializare)=s.cod_specializare) And ((s.specializare)='FB'))
11. Sa se afiseze toti studentii de la specializarea „FB” sau „MG” (vizual si sql)
SELECT s.nume, s.prenume, sp.specializare FROM student AS s, specializare AS sp
WHERE specializare="MG" and sp.cod_specializare=s.cod_specializare
12. Sa se afiseze cati studentii sunt la specializarea „FB” sau „MG” (vizual si sql)
SELECT COUNT(nr_matricol) AS ["Nr studenti MG"] FROM student AS s, specializare
AS sp WHERE sp.cod_specializare=s.cod_specializare and sp.specializare="MG"
13. Sa se afiseze cati colegi are studentul Popescu Mircea la specialitatea la care este
inscris.
SELECT COUNT(nr_matricol) AS ["Nr colegi"] FROM student AS s, specializare AS sp
WHERE SP.cod_specializare=(SELECT cod_specializare FROM student s WHERE
nume="Popescu" and Prenume="Mircea" ) and s.nume NOT IN("Popescu") and
s.prenume not in("Mircea") and s.cod_specializare=sp.cod_specializare
14. Sa se afiseze numarul de studenti de la fiecare specialitate.
SELECT Count(nr_matricol) AS ["Nr studenti'"], specializare FROM student AS s,
specializare AS sp WHERE s.cod_specializare=sp.cod_specializare GROUP BY
specializare

S-ar putea să vă placă și