Sunteți pe pagina 1din 29

UNIVERSITATEA PRIVATĂ DIN TACNA

FACULTATEA DE INGINERIE

Scoala Profesionala de Inginerie a Sistemelor

PRACTICA 7 ÎNTREBĂRI SQL

Curs: Proiectare baze de date

Profesor: ing. Oliver Santana Carbajal

Student:

Puma Villa, Bryan (2015052787)

Tacna – Peru

2021-I
interogări pe o masă
1. Listați numele tuturor produselor care se află în tabelul de produse.

SELECTează numele

DIN produs
2. Listați numele și prețurile tuturor produselor din tabelul cu produse.

SELECTează numele, prețul

DIN produs

3. Listați toate coloanele din tabelul de produse.

SELECTAȚI *

DIN produs

4. Enumerați numele produselor, prețul în euro și prețul în dolari SUA (USD).

SELECT numele, prețul, prețul * 1.15

DIN produs

5. Enumerați numele produselor, prețul în euro și prețul în dolari SUA (USD). Utilizați
următoarele pseudonime pentru coloane: numele produsului, euro, dolari.

SELECT numele AS „nume produs”, preț ca euro, preț * 1,15 dolari ca

DIN produs
6. Enumerați numele și prețurile tuturor produselor din tabelul de produse, transformând
numele în majuscule.

SELECTARE SUS (nume), preț

DIN produs

7. Enumerați numele și prețurile tuturor produselor din tabelul de produse, transformând


numele în litere mici.

SELECT LOWER(nume), preț

DIN produs

8. Listați toate numele producătorilor într-o coloană, iar într-o altă coloană scrieți cu majuscule
primele două caractere ale numelui producătorului.

SELECT numele, UPPER(SUBSTR(nume, 1, 2))

DE LA producator

9. Enumerați denumirile și prețurile tuturor produselor din tabelul de produse, rotunjind


valoarea prețului.

SELECTAȚI numele, ROUND(preț)

DIN produs
10. Listați numele și prețurile tuturor produselor din tabelul de produse, trunchiind valoarea
prețului pentru a o afișa fără zecimale.

SELECTează numele, TRUNCATE(preț)

DIN produs

11. Enumerați codul producătorilor care au produse în tabelul de produse.

SELECTAȚI codul_fabricant

DIN produs

12. Enumerați codul producătorilor care au produse în tabelul de produse, eliminând codurile
care apar repetate.

SELECTAȚI codul_producător DISTINCT

DIN produs

13. Enumerați numele producătorilor în ordine crescătoare.

SELECTează numele

DE LA producator

COMANDA DUPA nume ASC

14. Enumerați numele producătorilor în ordine descrescătoare.

SELECTează numele

DE LA producator

ORDENAȚI DUPĂ nume DESC


15. Enumerați numele produselor comandate primul după nume în ordine crescătoare și al
doilea după preț în ordine descrescătoare.

SELECTează numele, prețul

DIN produs

COMANDA DUPA nume ASC, pret DESC

16. Returnează o listă cu primele 5 rânduri ale tabelului producătorului.

SELECTAȚI *

DE LA producator

LIMITA 5

17. Returnează o listă cu 2 rânduri începând cu al patrulea rând al tabelului producătorului. Al


patrulea rând trebuie inclus și în răspuns.

SELECTAȚI *

DE LA producator

LIMITA 3, 2

18. Enumerați numele și prețul celui mai ieftin produs. (Folosiți numai clauzele ORDER BY și
LIMIT)

SELECTează numele, prețul

DIN produs

COMANDA DUPA pret ASC

LIMITA 1
19. Enumerați numele și prețul celui mai scump produs. (Folosiți numai clauzele ORDER BY și
LIMIT)

SELECTează numele, prețul

DIN produs

COMANDA DUPA pret DESC

LIMITA 1

20. Enumerați numele tuturor produselor producătorului al căror cod de producător este egal cu
2.

SELECTează numele

DIN produs

UNDE cod_producător = 2

21. Enumerați numele produselor care au un preț mai mic sau egal cu 120 €.

SELECTează numele

DIN produs

WHERE pret <= 120

22. Enumerați numele produselor care au un preț mai mare sau egal cu 400 €.

SELECTează numele

DIN produs

UNDE pret >= 400


23. Enumerați numele produselor care nu au un preț mai mare sau egal cu 400 €.

SELECTează numele

DIN produs

UNDE NU pret >= 400

24. Enumerați toate produsele care au un preț între 80 € și 300 €. Fără a utiliza operatorul
BETWEEN.

SELECTAȚI *

DIN produs

WHERE preț >= 80 ȘI preț <= 300

25. Enumerați toate produsele care au un preț între 60 € și 200 €. Folosind operatorul BETWEEN.

SELECTAȚI *

DIN produs

UNDE pret INTRE 60 SI 200

26. Enumerați toate produsele care au un preț mai mare de 200 € și care codul producătorului
este egal cu 6.

SELECTAȚI *

DIN produs

UNDE preț > 200 ȘI cod_producător = 6


27. Listați toate produsele pentru care codul producătorului este 1, 3 sau 5. Fără a utiliza
operatorul IN.

SELECTAȚI * DIN produs

UNDE cod_producător = 1 SAU cod_producător = 3 SAU cod_producător = 5

28. Listați toate produsele pentru care codul producătorului este 1, 3 sau 5. Folosind operatorul
IN.

SELECTAȚI * DIN produs

WHERE manufacturer_code IN (1, 3, 5)

29. Enumerați numele și prețul produselor în cenți (Valoarea prețului va trebui înmulțită cu 100).
Creați un alias pentru coloana care conține prețul numit cenți.

SELECT numele, prețul * 100 AS cenți

DIN produs

30. Enumerați numele producătorilor al căror nume începe cu litera S.

SELECTează numele

DE LA producator

WHERE nume ca „S%”


31. Enumeraţi numele producătorilor al căror nume se termină cu vocala e.

SELECTAȚI numele de la producător

UNDE nume LIKE '%e'

32. Enumerați numele producătorilor al căror nume conține caracterul w.

SELECTAȚI numele de la producător

WHERE nume LIKE '%w%'

33. Enumerați numele producătorilor al căror nume are 4 caractere.

SELECTAȚI numele de la producător

UNDE nume LIKE '____'

34. Returnează o listă cu numele tuturor produselor care conțin șirul Portable în nume.

SELECTAȚI numele DIN produs

WHERE nume LIKE '%Portable%'

35. Returnează o listă cu numele tuturor produselor care conțin șirul Monitor în nume și au un
preț mai mic de €215.

SELECTAȚI numele DIN produs

UNDE denumirea LIKE „%Monitor%” ȘI prețul < 215


36. Enumerați numele și prețul tuturor produselor care au un preț mai mare sau egal cu 180 €.
Sortați rezultatul mai întâi după preț (în ordine descrescătoare) și al doilea după nume (în ordine
crescătoare).

SELECTează numele, prețul FROM produs

WHERE pret >= 180

COMANDA DUPA pret DESC, denumire ASC

Interogări cu mai multe tabele (compoziție internă)


Rezolvați toate interogările folosind sintaxa SQL1 și SQL2.

1. Returnează o listă cu numele produsului, prețul și numele producătorului tuturor produselor


din baza de date.

SELECTAȚI nume.produs, preț, nume.producător

DE LA producătorul produsului INNER JOIN

ON product.code_manufacturer = producător.cod

2. Returnează o listă cu numele produsului, prețul și numele producătorului tuturor produselor


din baza de date. Sortați rezultatul după numele producătorului, în ordine alfabetică.

SELECTAȚI nume.produs, preț, nume.producător

DE LA producătorul produsului INNER JOIN

ON product.code_manufacturer = producător.cod

COMANDA PENTRU producator.nume ASC


3. Returnează o listă cu codul produsului, numele produsului, codul producătorului și numele
producătorului tuturor produselor din baza de date.

SELECTAȚI cod.produs, nume.produs, cod.producător, nume.produc

DE LA producătorul produsului INNER JOIN

ON product.code_manufacturer = producător.cod

4. Returnează numele produsului, prețul acestuia și numele producătorului său, al celui mai
ieftin produs.

SELECTAȚI nume.produs, preț.produs, nume.producător

DE LA producătorul produsului INNER JOIN

COMANDA DUPA produs.pret ASC

LIMITA 1

5. Returnează numele produsului, prețul acestuia și numele producătorului acestuia, al celui mai
scump produs.

SELECTAȚI nume.produs, preț.produs, nume.producător

DE LA producătorul produsului INNER JOIN

COMANDA DUPA produs.pret DESC

LIMITA 1

6. Returnează o listă cu toate produsele producătorului Lenovo.


SELECT * FROM produs INNER JOIN producator

ON product.code_manufacturer = producător.cod

WHERE manufacturer.name = „Lenovo”

7. Returnează o listă cu toate produsele producătorului Crucial cu un preț mai mare de 200 USD.

SELECT * FROM produs INNER JOIN producator

ON product.code_manufacturer = producător.cod

WHERE manufacturer.name = 'Crucial' AND product.price >200

8. Returnează o listă cu toate produsele producătorilor Asus, Hewlett-Packard și Seagate. Fără a


utiliza operatorul IN.

SELECT * FROM produs INNER JOIN producator

ON product.code_manufacturer = producător.cod

WHERE manufacturer.name = 'Asus' SAU manufacturer.name = 'Hewlett-Packard' SAU

manufacturer.name = „Seagate”

9. Returnează o listă cu toate produsele producătorilor Asus, Hewlett-Packard și Seagate.


Folosind operatorul IN.

SELECT * FROM produs INNER JOIN producator

ON product.code_manufacturer = producător.cod

WHERE manufacturer.name IN („Asus”, „Hewlett-Packard”, „Seagate”)

10. Returnează o listă cu numele și prețul tuturor produselor producătorilor ale căror
numele se termină cu vocala e.

SELECTAȚI nume.produs, preț.produs FROM produs INNER JOIN producător

ON product.code_manufacturer = producător.cod

WHERE producator.name LIKE ('%e')

11. Returnează o listă cu numele și prețul tuturor produselor al căror nume de producător
conține caracterul w în numele său.

SELECTAȚI nume.produs, preț.produs FROM produs INNER JOIN producător

ON product.code_manufacturer = producător.cod

WHERE producator.name LIKE ('%w%')

12. Returnează o listă cu numele produsului, prețul și numele producătorului, a tuturor

produse care au un preț mai mare sau egal cu 180 EUR. Ordonați mai întâi rezultatul după

preț (în ordine descrescătoare) și secundă după nume (în ordine crescătoare)

SELECTAȚI nume.produs, preț.produs, nume.producător

DE LA producătorul produsului INNER JOIN

ON product.code_manufacturer = producător.cod

UNDE produs.pret >= 180

COMANDA DUPA produs.pret DESC, produs.nume ASC


13. Returnează o listă cu codul și numele producătorului, numai a acelor producători care au
produse asociate în baza de date.

SELECTAȚI producător.cod, producător.nume FROM producător INNER JOIN produs

ON manufacturer.code = product.code_manufacturer

Interogări cu mai multe tabele (compoziție externă)


Rezolvați toate interogările folosind clauzele LEFT JOIN și RIGHT JOIN.

1. Returnează o listă cu toți producătorii care există în baza de date, împreună cu produsele pe
care le are fiecare dintre ei. Lista trebuie să arate și acei producători care nu au produse
asociate.

SELECTAȚI cod.producător, nume.producător, nume.produs

DE LA producător LEFT JOIN produs

ON manufacturer.code = product.code_manufacturer

2. Returnează o listă în care apar numai acei producători care nu au niciun produs asociat.

SELECTAȚI producător.nume FROM producător LEFT JOIN produs

ON manufacturer.code != product.code_manufacturer

UNDE NU manufacturer.code = ANY (

SELECTARE produs.cod_producător

DIN produs) LIMITA 10.2

3. Pot exista produse care nu au legatura cu un producator? Justificati raspunsul.


Ele nu pot exista deoarece relația în modelul relațional este de la 1 la mulți. Aceasta înseamnă că
un produs poate fi creat de minimum 1 producător.

interogări rezumate
1. Calculați numărul total de produse din tabelul de produse.

SELECTARE NUMĂR (*)

DIN produs

2. Calculați numărul total de producători din tabelul producătorilor.

SELECTARE NUMĂR (*)

DE LA producator

3. Calculați numărul de valori distincte ale codului producătorului care apar în tabelul de
produse.

SELECTAȚI NUMĂR (DIstinct cod_producător)

DIN produs

4. Calculați prețul mediu al tuturor produselor.


SELECTAȚI AVG (preț)

DIN produs

5. Calculați cel mai ieftin preț dintre toate produsele.

SELECTARE MIN (preț)

DIN produs

6. Calculați cel mai scump preț dintre toate produsele.

SELECTARE MAX (preț)

DIN produs

7. Enumerați numele și prețul celui mai ieftin produs.

SELECTează numele, prețul

DIN produs

COMANDA DUPA pret ASC

LIMITA 1

8. Enumerați numele și prețul celui mai scump produs.

SELECTează numele, prețul

DIN produs

COMANDA DUPA pret DESC

LIMITA 1

9. Calculați suma prețurilor tuturor produselor.

SELECTAȚI SUMA (preț)

DIN produs

10. Calculați numărul de produse pe care le are producătorul Asus.


SELECTAȚI COUNT(produs.cod)

Produs de la producător INNER JOIN

ON manufacturer.code = product.code_manufacturer

WHERE manufacturer.name = „Asus”

11. Calculați prețul mediu al tuturor produselor producătorului Asus.

SELECTAȚI AVG(produs.preț)

Produs de la producător INNER JOIN

ON manufacturer.code = product.code_manufacturer

WHERE manufacturer.name = „Asus”

12. Calculați cel mai ieftin preț dintre toate produsele producătorului Asus.

SELECTARE MIN(produs.pret)

Produs de la producător INNER JOIN

ON manufacturer.code = product.code_manufacturer

WHERE manufacturer.name = „Asus”

13. Calculați cel mai scump preț dintre toate produsele producătorului Asus.

SELECTARE MAX (preț.produs)

Produs de la producător INNER JOIN

ON manufacturer.code = product.code_manufacturer

WHERE manufacturer.name = „Asus”

14. Calculați suma tuturor produselor producătorului Asus.

SELECTAȚI SUMA(produs.preț)

Produs de la producător INNER JOIN

ON manufacturer.code = product.code_manufacturer

WHERE manufacturer.name = „Asus”


15. Afișează prețul maxim, prețul minim, prețul mediu și numărul total de produse pe care le are
producătorul Crucial.

SELECTAȚI MAX(preț.produs), MIN(preț.produs), AVG(preț.produs), COUNT(cod.produs)

Produs de la producător INNER JOIN

ON manufacturer.code = product.code_manufacturer

WHERE manufacturer.name = 'Crucial'

16. Arată numărul total de produse pe care le are fiecare producător. Lista ar trebui să includă și
producătorii care nu au niciun produs. Rezultatul va afișa două coloane, una cu numele
producătorului și alta cu numărul de produse pe care le are. Sortați rezultatul descrescător după
numărul de produse.

SELECTează nume.nume producător, COUNT(cod.produs)

DE LA producător LEFT JOIN produs

ON product.code_manufacturer = producător.cod

GROUP BY producator.cod

COMANDA PENTRU 2 DESC

17. Afișează prețul maxim, prețul minim și prețul mediu al produselor fiecărui producător.
Rezultatul va afișa numele producătorului împreună cu datele solicitate.

SELECTAȚI nume.produc., MAX(preț.produs), MIN(preț.produs), AVG(preț.produs)

Produs de la producător INNER JOIN

ON product.code_manufacturer = producător.cod

GROUP BY producator.cod

18. Afișează prețul maxim, prețul minim, prețul mediu și numărul total de produse de la
producători care au un preț mediu mai mare de 200 €. Nu este necesar să se afișeze numele
producătorului, codul producătorului este suficient.

SELECTAȚI codul producătorului, MAX(preț), MIN(preț), AVG(preț), COUNT(*)


DIN produs

GROUP BY cod_producător

AVÂND MEDIA(prețul) > 200

19. Afișați numele fiecărui producător, împreună cu prețul maxim, prețul minim, prețul mediu și
numărul total de produse ale producătorilor care au un preț mediu mai mare de 200 EUR. Este
necesar să se afișeze numele producătorului.

SELECTAȚI numele producătorului,

MAX(preț.produs), MIN(preț.produs),

AVG(preț.produs), COUNT(*)

DE LA producătorul produsului INNER JOIN

ON product.code_manufacturer = producător.cod

GROUP BY producator.cod

AVÂND AVG(produs.preț) > 200

20. Calculați numărul de produse care au un preț mai mare sau egal cu 180 €.

SELECTARE NUMĂR (*)

DIN produs

WHERE pret >= 180

21. Calculați numărul de produse pe care le are fiecare producător cu un preț mai mare sau egal
cu 180 €.

SELECTAȚI nume.nume producător, COUNT(*)

DE LA producătorul produsului INNER JOIN

ON product.code_manufacturer = producător.cod

UNDE produs.pret >= 180

GROUP BY produs.cod_producător
22. Enumeraţi preţul mediu al produselor fiecărui producător, arătând doar codul
producătorului.

SELECTAȚI AVG(preț), cod_fabricant

DIN produs

GROUP BY cod_producător

23. Enumerați prețul mediu al produselor fiecărui producător, arătând doar numele
producătorului.

SELECTAȚI AVG(preț), producător.nume

DE LA producătorul produsului INNER JOIN

ON product.code_manufacturer = producător.cod

GROUP BY producator.nume

24. Enumerați numele producătorilor ale căror produse au un preț mediu mai mare sau egal cu
150 €.

SELECTAȚI AVG(preț), producător.nume

DE LA producătorul produsului INNER JOIN

ON product.code_manufacturer = producător.cod

GROUP BY producator.nume

AVÂND AVG(prețul) >= 150

25. Returnează o listă cu numele producătorilor care au 2 sau mai multe produse.

SELECTează nume.nume producător, COUNT(cod.produs)

Produs de la producător INNER JOIN

ON manufacturer.code = product.code_manufacturer

GROUP BY producator.cod

AVÂND NUMĂR (cod.produs) >= 2


26. Returnează o listă cu numele producătorilor și numărul de produse pe care le are fiecare cu
un preț mai mare sau egal cu 220 €. Nu este necesar să se afișeze numele producătorilor care nu
au produse care îndeplinesc condiția. Exemplu de rezultat așteptat:

SELECTează nume.nume producător, COUNT(cod.produs)


Produs de la producător INNER JOIN
ON manufacturer.code = product.code_manufacturer
UNDE produs.pret >= 220
GROUP BY producator.cod
COMANDA PENTRU 2 DESC

27. Returnează o listă cu numele producătorilor și numărul de produse pe care le are fiecare cu
un preț mai mare sau egal cu 220 €. Lista trebuie să arate numele tuturor producătorilor, adică
dacă există un producător care nu are produse cu un preț mai mare sau egal cu 220 €, acesta
trebuie să apară în listă cu o valoare egală cu 0 în numărul de produse.

(SELECTARE nume.nume producător, COUNT(cod.produs)


Produs de la producător INNER JOIN
ON manufacturer.code = product.code_manufacturer
UNDE produs.pret >= 220
GROUP BY producator.code)
UNIUNE
(SELECTARE nume.nume producător, 0
DE LA producator
WHERE producător.codul NU ÎN (
SELECTAȚI codul producătorului
Produs de la producător INNER JOIN
ON manufacturer.code = product.code_manufacturer
UNDE produs.pret >= 220
GROUP BY producator.code))
COMANDA PENTRU 2 DESC
28. Returnează o listă cu numele producătorilor în care suma prețului tuturor produselor lor este
mai mare de 1000 EUR.

SELECTAȚI nume.producător, SUM(preț.produs)

Produs de la producător INNER JOIN

ON manufacturer.code = product.code_manufacturer

GROUP BY producator.cod

AVÂND SUM(produs.preț) > 1000

29. Returnează o listă cu numele celui mai scump produs pe care îl are fiecare producător.
Rezultatul ar trebui să aibă trei coloane: numele produsului, prețul și numele producătorului.
Rezultatul trebuie ordonat alfabetic de la cel mai mic la cel mai mare, după numele
producătorului.

SELECTAȚI nume.produs, preț.produs, nume.producător

DE LA producătorul produsului INNER JOIN

ON product.code_manufacturer = producător.cod

UNDE produs.pret =

SELECTARE MAX (preț)

DIN produs

WHERE producător_cod = producător.cod

)
COMANDA PENTRU producator.nume ASC

Subinterogări (în clauza WHERE)


Cu operatori de comparație de bază

1. Returnați toate produsele producătorului Lenovo. (Fără a utiliza INNER JOIN).

SELECT * FROM produs

WHERE cod_producător = (

SELECT cod

DE LA producator

WHERE nume = „Lenovo”)

2. Returnează toate datele pentru produsele care au același preț ca cel mai scump produs de la
producătorul Lenovo. (Fără a utiliza INNER JOIN).

SELECT * FROM produs

WHERE preț = (

SELECTARE MAX (preț)

DIN produs

WHERE product.manufacturer_code = (

SELECT cod

DE LA producator

WHERE nume = „Lenovo”))

3. Enumerați numele celui mai scump produs Lenovo.

SELECTAȚI produs.nume

Produs de la producător INNER JOIN

ON manufacturer.code = product.code_manufacturer

WHERE manufacturer.name = „Lenovo” ȘI product.price = (

SELECTARE MAX (preț)

Produs de la producător INNER JOIN


ON manufacturer.code = product.code_manufacturer

WHERE manufacturer.name = 'Lenovo')

4. Listați numele celui mai ieftin produs de la producătorul Hewlett-Packard.

SELECTAȚI produs.nume

Produs de la producător INNER JOIN

ON manufacturer.code = product.code_manufacturer

WHERE manufacturer.name = „Hewlett-Packard” ȘI product.price = (

SELECTARE MIN (preț)

Produs de la producător INNER JOIN

ON manufacturer.code = product.code_manufacturer

WHERE manufacturer.name = 'Hewlett-Packard')

5. Returnează toate produsele din baza de date care au un preț mai mare sau egal cu cel mai
scump produs de la producătorul Lenovo.

SELECTAȚI *

DIN produs

WHERE preț >= (

SELECTARE MAX (preț)

Produs de la producător INNER JOIN

ON manufacturer.code = product.code_manufacturer

WHERE manufacturer.name = 'Lenovo')

6. Enumerați toate produsele producătorului Asus care au un preț mai mare decât prețul mediu
al tuturor produselor sale.

SELECTAȚI *

Produs de la producător INNER JOIN

ON manufacturer.code = product.code_manufacturer

WHERE manufacturer.name = „Asus” ȘI product.price > (

SELECTAȚI AVG (preț)

Produs de la producător INNER JOIN


ON manufacturer.code = product.code_manufacturer

WHERE manufacturer.name = „Asus”)

Subinterogări cu TOATE și ORICE

8. Returnează cel mai scump produs care există în tabelul de produse fără a utiliza MAX, ORDER

PRIN sau LIMIT.

SELECTAȚI * DIN produs

WHERE preț >= TOATE (

selectați prețul

DIN produs)

9. Returnează cel mai ieftin produs care există în tabelul de produse fără a utiliza MIN, ORDER
BY sau LIMIT.

SELECTAȚI * DIN produs

WHERE preț <= TOATE (

selectați prețul

DIN produs)

10. Returnează numele producătorilor care au produse asociate. (Folosind ALL sau ANY).

SELECTAȚI numele de la producător

WHERE cod = ANY (

SELECTAȚI codul_fabricant

DIN produs)
11. Returnează numele producătorilor care nu au produse asociate. (Folosind ALL sau ANY).

SELECTAȚI numele de la producător

WHERE cod != ALL (

SELECTAȚI codul_fabricant

DIN produs)

Subinterogări cu IN și NOT IN

12. Returnează numele producătorilor care au produse asociate. (Folosind IN sau NOT IN).

SELECTAȚI numele de la producător

cod WHERE IN (SELECTARE cod_fabricant FROM produs)

13. Returnează numele producătorilor care nu au produse asociate. (Folosind IN sau NOT IN).

SELECTAȚI numele de la producător

WHERE codul NU ÎN (SELECTARE PRODUCT_code FROM produs)

Subinterogări cu EXISTĂ și NU EXISTĂ

14. Returnează numele producătorilor care au produse asociate. (Folosind EXISTS sau NOT
EXISTS).

SELECTAȚI numele de la producător

UNDE EXISTA (

SELECTAȚI codul_fabricant

DIN produs

WHERE product.manufacturer_code = manufacturer.code)

15. Returnează numele producătorilor care nu au produse asociate.

(Folosind EXISTS sau NOT EXISTS).


SELECTAȚI numele de la producător

UNDE NU EXISTA (

SELECTAȚI codul_fabricant

DIN produs

WHERE product.manufacturer_code = manufacturer.code)

subinterogări corelate

16. Enumerați numele fiecărui producător cu numele și prețul celui mai scump produs al său.

SELECTAȚI nume.produs, preț.produs, nume.producător

DE LA producătorul produsului INNER JOIN

ON product.code_manufacturer = producător.cod

UNDE produs.pret =

SELECTARE MAX (preț)

DIN produs

WHERE producător_cod = producător.cod

17. Returnează o listă cu toate produsele care au un preț mai mare sau egal cu media lui

toate produsele de la același producător.

SELECTAȚI *

DIN produsul AS p1

WHERE preț >= (SELECT AVG(preț)

DIN produsul AS p2

WHERE p1.manufacturer_code = p2.manufacturer_code)

18. Enumerați numele celui mai scump produs de la producător Lenovo.

SELECTAȚI produs.nume
Produs de la producător INNER JOIN

ON manufacturer.code = product.code_manufacturer

WHERE manufacturer.name = „Lenovo” ȘI product.price = (

SELECTARE MAX (preț)

DIN produs

WHERE producător_cod = producător.cod)

Subinterogări (în clauza HAVING)

19. Returnează o listă cu toate numele producătorilor care au același număr de produse ca și
producătorul Lenovo.

SELECTează nume.nume producător, COUNT(cod.produs)

Produs de la producător INNER JOIN

ON manufacturer.code = product.code_manufacturer

GROUP BY producator.cod

AVÂND COUNT(produs.code) >= (

SELECTAȚI COUNT(produs.cod)

Produs de la producător INNER JOIN

ON manufacturer.code = product.code_manufacturer

WHERE manufacturer.name = 'Lenovo')

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