polecenie select

0

co oznaczają w tych poleceniach te pojedyncze litery np d ,p, pr? dlaczego np produkty p , d/miasto?

-- 1
--SELECT *
--FROM dostawcy d

--2
  --SELECT d.ZAZWAFIRMY,d.ADRES,d/MIASTO
  --FROM dostawcy d

--3
--SELECT *
--FROM dostawcy d
--ORDER BY d.miasto

--4
--SELECT distinct d.miasto
--FROM dostawcy d

--5
--SELECT Upper(d.nazwafirmy)
--FROM dostawcy d
--WHERE d.miasto LIKE 'Bytom'

--6
--SELECT *
--FROM dostawcy d
--WHERE d.miasto = 'Bytom'
--OR d.miasto = 'Katowice'

 --7
--SELECT *
--FROM dostawcy d
--WHERE d.miasto like 'B%'

--8
--SELECT *
--FROM dostawcy d
--WHERE Length(d.nazwafirmy) > 10

--9
--SELECT d.nazwafirmy
--FROM dostawcy d
--WHERE SubStr(d.kodpocztowy,1,2) = 23

--10
--SELECT d.nazwafirmy
--FROM dostawcy d
--WHERE SubStr(d.kodpocztowy,-2,2) = 33

 --11
--SELECT p.nazwaproduktu
--FROM produkty p
--WHERE p.ilosc < p.stanminimum

--12
--SELECT p.nazwaproduktu,p.stanminimum - p.ilosc +1
--FROM produkty p
--WHERE p.stanminimum - p.ilosc > 0

--13
--SELECT p.nazwaproduktu,p.stanminimum + 100 - p.ilosc AS IleZamowic
--FROM produkty p
--WHERE p.ilosc < p.stanminimum + 100

--14
--SELECT p.nazwaproduktu
--FROM produkty p
--WHERE p.wycofany > 0

--15
--SELECT*
--FROM pracownicy pr

--16
--SELECT *
--FROM pracownicy pr
--WHERE pr.dataurodzenia < '1960-01-01'

--17
--SELECT *
--FROM PRACOWNICY PR
--WHERE pr.dataurodzenia > pr.datazatrudnienia

--18
--SELECT round(Avg(pr.placa),2) AS SredniaPlac
--FROM pracownicy pr

--19
--SELECT Round(Avg(pr.placa),2) AS SredniaPlac, Min(pr.placa) AS NajmniejszaPlaca,
--Max(pr.placa) AS NajwiekszaPlaca
--FROM pracownicy pr

--20
--SELECT To_Char(Round(Avg(pr.placa),2),'$9,999.99') AS PlacaPrzedstawicielaHandlowego
--FROM pracownicy pr
--WHERE stanowisko = 'Przedstawiciel handlowy'

--21
--SELECT Round(Avg(pr.placa),2) AS SredniaPlaca
--FROM pracownicy pr
--GROUP BY pr.miasto HAVING Count(pr.miasto) > 0

--22
--SELECT Count(pr.miasto)
--FROM pracownicy pr
--GROUP BY pr.miasto HAVING Count(pr.miasto) > 0

--23
--SELECT Count(pr.miasto) , miasto
--FROM pracownicy pr
--GROUP BY pr.miasto HAVING Count(pr.miasto) > 2

--24
--SELECT Round((Trunc(Months_Between(pr.dataurodzenia, sysdate)) *-1 /12),0 ) AS Wiek, pr.imie, pr.nazwisko
--FROM pracownicy pr

--25
--SELECT Round(Avg(Round((Trunc(Months_Between(pr.dataurodzenia, sysdate)) *-1 /12),0 )),0), pr.stanowisko
--FROM pracownicy pr
--GROUP BY pr.stanowisko HAVING Count(pr.stanowisko)> 0

--26
--SELECT Round((Trunc(Months_Between(pr.dataurodzenia, (Add_Months(SYSDATE,10)))) *-1 /12),0 ) AS WiekZa10Miesiecy
--FROM pracownicy pr

--27
--SELECT *
--FROM
--(SELECT pr.placa, pr.nazwisko, pr.imie
--FROM pracownicy pr
--ORDER BY pr.placa DESC)
--WHERE ROWNUM <=3

--28
--SELECT p.nazwaproduktu
--FROM produkty p, dostawcy d
--WHERE d.nazwafirmy = 'XYZ' AND p.iddostawcy = d.iddostawcy

--29

--SELECT p.nazwaproduktu, p.ilosc
--FROM produkty p, dostawcy d
--WHERE d.nazwafirmy = 'Polinax'
--AND p.iddostawcy = d.iddostawcy
--AND p.ilosc <10

--30
--SELECT p.nazwaproduktu, d.miasto
--FROM produkty p , dostawcy d
--WHERE d.miasto = 'Bytom'
--AND p.iddostawcy = d.iddostawcy

--31
--SELECT Round(Avg(p.ilosc),0) AS SredniaIlosc, d.nazwafirmy
--FROM produkty p , dostawcy d
--WHERE p.iddostawcy = d.iddostawcy
--GROUP BY d.nazwafirmy HAVING Count(d.nazwafirmy) > 0

--32
--SELECT Count(z.idklienta), z.idklienta
--FROM zamowienia z
--GROUP BY z.idklienta HAVING Count(z.idklienta) >0

--33
--SELECT Round(Avg(Count(z.idklienta)), 1)
--FROM zamowienia z, klienci k
--WHERE z.idklienta = k.idklienta
--and k.aktywny = 1
--GROUP BY z.idklienta HAVING Count(z.idklienta) >0

--34
--SELECT Sum(p.ilosc)
--FROM produkty p

--35
--??????????

--36
--SELECT Round(sum((oz.cenajednostkowa - oz.rabat) * oz.ilosc) , 2) AS SredniPrzychod , z.idklienta
--FROM zamowienia z, opisy_zamowien oz
--WHERE oz.idzamowienia = z.idzamowienia
--GROUP BY z.idklienta
4

co oznaczają w tych poleceniach te pojedyncze litery np d ,p, pr? dlaczego np produkty p , d/miasto?

Tto są aliasy wykorzystywane w zapytaniu d/miast to jest bład powinna być prokpka.
Na tym przykładzie:

SELECT d.ZAZWAFIRMY,d.ADRES,d.MIASTO
FROM dostawcy d

Mozna zapisać tak:

SELECT dostawcy.ZAZWAFIRMY,dostawcy.ADRES,dostawcy.MIASTO
FROM dostawcy

Szybsza forma zapisu zamiast pisać całą nazwę tabeli używasz jej aliasu w Twoim przykładzie d

http://zasoby.open.agh.edu.pl/~11smdrobniak/basic-alias.html

1

Możesz sobie skrócić nazwy tabel do liter, tak samo jak nazwy kolumn SELECT my_super_column_name as c

Szczególnie to się przydaje przy joinowaniu tabel, bo jeżeli przyłączone tabele mają takie same nazwy kolumn, to musisz określić z której pobierasz daną kolumną np. SELECT pierwsza_tabela.name, druga_tabela.name wersja skrócona SELECT p.name, d.name

1 użytkowników online, w tym zalogowanych: 0, gości: 1