You are on page 1of 8

--Nálam az eladásokat tartalmazó táblázat "eladas" helyett "eladasok" néven szerepel

--1.

select

keresztnev,

eletkor

from

vevok

where

lakhely='Budapest'

1/1
--2.

select *

from

szallitas

where

AR_PER_SZALLITAS>2500 or AR_PER_SZALLITAS<500

1/1

--3.

select *

from

vevok

where

neme='Nõ' and

KERESZTNEV like 'L%' and


KERESZTNEV2 is null

2/2

--4.

select *

from

vevok

where

eletkor between 35 and 85 and

lakhely<>'Budapest' and

keresztnev='Béla' or

keresztnev2 like 'H%'

3/3

--5.

select

count(distinct SZALLITAS_TIPUS_ID)

from

szallitas

where

SZOLGALTATO is not null

2/2
--6.

select

lakhely,

min(eletkor)

from

vevok

group by

lakhely

2/2

--7.

select

neme,

round(avg(eletkor),3)

from

vevok

where

eletkor<30

group by

neme

3/3

--8.

select

termekek.termek_id,

termekek.termek_nev
from

termekek

join

eladasok

on

eladasok.termek_id=termekek.termek_id

group by

termekek.termek_id,

termekek.termek_nev

having

sum(eladasok.eladasi_darabszam)>4000

order by

termekek.termek_id

3/3

--9.

SELECT

vevok.*,

panaszok.*

FROM

panaszok

left join

vevok

on

panaszok.VEVO_ID = vevok.vevo_id

where

vevok.VEVO_ID is null
2/2

--10.

select

sum(szallitas.AR_PER_SZALLITAS)

from

eladasok

join

szallitas

on

eladasok.SZALLITAS_TIPUS_ID=szallitas.SZALLITAS_TIPUS_ID

where

szallitas.SZOLGALTATO='Magyar Posta' and

extract(year from eladas_datum)=2015

4/4

--11.

select

termekek.termek_id,

termekek.termek_nev,

termekek.keszleten_darabszam,

sum(eladasok.eladasi_darabszam) as eladasi_mennyiseg

from

termekek
join

eladasok

on

eladasok.termek_id=termekek.termek_id

where

KESZLETEN_DARABSZAM=(select max(KESZLETEN_DARABSZAM) from termekek)

group by

termekek.termek_id,

termekek.termek_nev,

termekek.keszleten_darabszam

4/4

--12.

select

eladasok.termek_id

from

eladasok

join

vevok

on

vevok.vevo_id=eladasok.vevo_id

where

vevok.neme='Férfi'

group by

eladasok.termek_id

order by

sum(eladasok.eladasi_darabszam)
fetch first row only

4/4
--13.

select

count(vevo_id),

case

when eletkor<=19 then 1

when eletkor between 20 and 39 then 2

when eletkor between 40 and 59 then 3

when eletkor between 60 and 79 then 4

else 5

end as kor

from

vevok

where

neme='Férfi' and

lakhely='Budapest'

group by

case

when eletkor<=19 then 1

when eletkor between 20 and 39 then 2

when eletkor between 40 and 59 then 3

when eletkor between 60 and 79 then 4

else 5

end --itt valamiért nem mûködött az aliassal :(

order by

count(vevo_id) desc
fetch first row only

5/2

--14.

select

min(termek_eladasi_ar)

from

select

eladas_id,

TERMEK_ELADASI_AR,

ELADASI_DARABSZAM*TERMEK_ELADASI_AR as bevetel

from

eladasok

order by

bevetel desc

fetch first 6 rows only

4/4

You might also like