n Shfaq tabelen e plote “employees”.
SELECT
*
FROM employees;
n Shfaq vetem 4 fushat e zgjedhura nga tabela “employees”.
SELECT
FirstName, LastName, Title, City
FROM employees;
n Shfaq 4 fushat e zgjedhura te riemeruara nga tabela “employees”.
SELECT
FirstName AS Emri, LastName AS Mbiemri, Title AS 'Titulli Personal',
City AS Qyteti
City AS Qyteti
FROM employees;
n Shfaq puntoret te cileve u fillon emri me shkronjen “A”.
SELECT
FirstName AS 'Emri', LastName AS 'Mbiemri', Title AS 'Titulli', City AS 'Qyteti'
FROM
employees
WHERE FirstName LIKE 'A%';
n Shfaq puntoret te cileve u fillon shkronjen e pare te emrit e kane “A”
dhe shkronjen e trete e kane “d”.
SELECT
FirstName AS 'Emri', LastName AS 'Mbiemri', Title AS 'Titulli', City AS
'Qyteti'
FROM
employees
WHERE FirstName LIKE 'A_d%';
n Shfaq puntoret te cileve u fillon emri me shkronjen “A” dhe
mbiemri me shkronjen “D”
SELECT
FirstName AS 'Emri', LastName AS 'Mbiemri', Title AS 'Titulli', City AS
'Qyteti'
FROM
employees
WHERE FirstName LIKE 'A%' AND LastName LIKE 'D%';
n Shfaq puntoret te cileve u fillon emri me shkronjen “A” ose
mbiemri me shkronjen “D”
SELECT
FirstName AS 'Emri', LastName AS 'Mbiemri', Title AS 'Titulli', City AS
'Qyteti'
FROM
employees
WHERE FirstName LIKE 'A%' OR LastName LIKE 'D%';
n Shfaq tabelen e plote “products”.
SELECT
*
FROM products;
n Shfaq 3 fushat e zgjedhura te riemeruara nga tabela “products”.
SELECT
ProductID AS 'ID', ProductName AS 'Emri Produktit', UnitPrice AS 'Cmimi per
Njesi'
FROM products;
n Shfaq te gjitha productet te cilat kane Cmimin per Njesi (UnitPrice) me
te madhe se 10.
SELECT
ProductID AS 'ID', ProductName AS 'Emri Produktit', UnitPrice AS 'Cmimi per
Njesi'
FROM
products
WHERE UnitPrice > 10;
n Shfaq te gjitha productet te cilat kane Cmimin per Njesi (UnitPrice) me
te vogel ose baraz se 20.
SELECT
ProductID AS 'ID', ProductName AS 'Emri Produktit', UnitPrice AS 'Cmimi per
Njesi'
FROM
products
WHERE UnitPrice <= 20;
n Shfaq te gjitha productet te cilat kane Cmimin per Njesi (UnitPrice) me
te madhe se 10 dhe me te vogel ose baraz se 20.
SELECT
ProductID AS 'ID', ProductName AS 'Emri Produktit', UnitPrice AS 'Cmimi per
Njesi'
FROM
products
WHERE UnitPrice >= 10 AND UnitPrice <= 20;
n Shfaq te gjitha productet te cilat kane Cmimin per Njesi (UnitPrice) midis
vlerave 10.01 dhe 19.99
SELECT
ProductID AS 'ID', ProductName AS 'Emri Produktit', UnitPrice AS 'Cmimi per
Njesi'
FROM
products
WHERE UnitPrice BETWEEN 10.01 AND 19.99
n Shfaq tabelen e plote “orders”.
SELECT
*
FROM orders;
n Shfaq 3 fushat e zgjedhura te riemeruara nga tabela “orders”.
SELECT
CustomerID AS 'ID Konsumatori', OrderID AS 'ID Porosije',
OrderDate AS 'Data Porosise'
OrderDate AS 'Data Porosise'
FROM orders;
n Shfaq te gjitha porosite e realizuar nga konsumatoret me CustomerID
“ALFKI”, “BOLID” dhe “PARIS” nga tabela “orders”.
SELECT
CustomerID AS 'ID Konsumatori', OrderID AS 'ID Porosije', OrderDate AS 'Data
Porosise'
FROM
orders
WHERE CustomerID = 'ALFKI' or CustomerID =
'BOLID' or CustomerID = 'PARIS';
n Shfaq te gjitha porosite e realizuar nga konsumatoret me CustomerID
“ALFKI”, “BOLID” dhe “PARIS” nga tabela “orders” (e njejte me shprehjen e
mesiperme).
SELECT
CustomerID AS 'ID Konsumatori', OrderID AS 'ID Porosije', OrderDate AS 'Data
Porosise'
FROM
orders
WHERE CustomerID IN ( 'ALFKI' , 'BOLID' , 'PARIS'
);
n Shfaq te gjitha porosite e realizuar pas dates 01-07-2007.
SELECT
CustomerID AS 'ID Konsumatori', OrderID AS 'ID Porosije', OrderDate AS 'Data
Porosise'
FROM
orders
WHERE OrderDate > '2007-07-01';
n Shfaq te gjitha porosite e realizuar midis datatave 01-07-2007 dhe
15-07-2007.
15-07-2007.
SELECT
CustomerID AS 'ID Konsumatori', OrderID AS 'ID Porosije', OrderDate AS 'Data
Porosise'
FROM
orders
WHERE OrderDate BETWEEN '2007-07-01' AND
'2007-07-15';
n Shfaq tabelen e plote “orders”.
SELECT
*
FROM orders;
n Shfaq numrin e rrjeshtave nga tabela “orders”.
SELECT
COUNT(*)
FROM orders;
n Shfaq numrin e rrjeshtave nga tabela “orders” duke vendosur nje
riemertim per fushen e re.
SELECT
COUNT(*) AS 'Nr Total i Porosive'
FROM orders;
n Shfaq numrin e porosive te realizuar nga konsumatori me CustomerID
“BOLID”
SELECT
CustomerID, COUNT(*) AS 'Nr i blerjeve te regjistruara per klientin'
FROM
orders
WHERE CustomerID
= 'BOLID';
n Shprehja e meposhtme eshte gabim nese kerkohet te nxirret numri i
porosive te realizuar nga konsumatoret me CustomerID “BOLID” dhe “ALFKI”.
SELECT
CustomerID, COUNT(*) AS 'Nr i blerjeve te regjistruara per klientin'
FROM
orders
WHERE CustomerID
= 'BOLID' OR CustomerID = 'ALFKI';
--Gabim!
n Shfaq numrin e porosive te realizuara nga cdo konsumator.
SELECT
CustomerID, COUNT(*) AS 'Nr i blerjeve te regjistruara per klientin'
FROM
orders
GROUP BY CustomerID;
n Shfaq numrin e porosive te realizuara nga konsumatoret me CustomerID
“BOLID” dhe “ALFKI”.
SELECT
CustomerID, COUNT(*) AS 'Nr i blerjeve te regjistruara per klientin'
FROM
orders
WHERE
CustomerID = 'BOLID' OR CustomerID =
'ALFKI'
GROUP BY CustomerID;
n Shfaq numrin e porosive te realizuara nga konsumatoret me CustomerID
“BOLID” , “ALFKI” dhe “FRANK”.
SELECT
CustomerID, COUNT(*) AS Nr_Blerjeve
FROM
orders
WHERE
CustomerID IN ('BOLID','ALFKI','FRANK')
GROUP BY CustomerID;
n Shfaq numrin e porosive te realizuara nga konsumatoret Nr_Blerjeve
nga 5 tek 10.
nga 5 tek 10.
SELECT
CustomerID, COUNT(*) AS Nr_Blerjeve
FROM
orders
GROUP
BY CustomerID
HAVING Nr_Blerjeve BETWEEN 5 AND 10;
n Shfaq numrin e porosive te realizuara nga konsumatoret Nr_Blerjeve
nga 5 tek 10.
nga 5 tek 10.
SELECT
CustomerID, COUNT(*) AS Nr_Blerjeve
FROM
orders
GROUP
BY CustomerID
HAVING COUNT(*) BETWEEN 5 AND 10;
n Krijimi i nje fushe te re (Taksa) e cila del si rezultat i shumzimit te
fushes UnitPrice me 0.2.
SELECT
ProductID AS ID, ProductName AS Produktit, UnitPrice AS Cmimi, UnitPrice * 0.2
AS Taksa
FROM products
n Shfaqja e te gjitha produkteve ku rezultati i fushes “Taksa” eshte me e
madhe se 3.
SELECT
ProductID AS ID, ProductName AS Produktit, UnitPrice AS Cmimi, UnitPrice * 0.2
AS Taksa
FROM
products
HAVING Taksa > 3;
n Shprehja e meposhtme eshte gabim pasi ne kushtin WHERE nuk mund te
vendoset nje fushe te krijuar ne pjesen SELECT sic eshte edhe fusha “Taksa”.
SELECT
ProductID AS ID, ProductName AS Produktit, UnitPrice AS Cmimi, UnitPrice * 0.2
AS Taksa
FROM
products
WHERE Taksa > 3; --Gabim!
n Shfaq numrin e porosive te realizuara nga cdo konsumator dhe duke
realizuar nje ri-renditje ne tabele nga Nr_Blerjeve me i vogel deri ne
Nr_Blerjeve me i madhe
SELECT
CustomerID, COUNT(*) AS Nr_Blerjeve
FROM
orders
GROUP
BY CustomerID
Order by Count(*) ASC; --Rendit vlerat nga me e vogla ne me te madhen
ose nga A-Z
n Shfaq numrin e porosive te realizuara nga cdo konsumator dhe duke
realizuar nje ri-renditje ne tabele nga Nr_Blerjeve me i madhe deri ne
Nr_Blerjeve me i vogel
SELECT
CustomerID, COUNT(*) AS Nr_Blerjeve
FROM
orders
GROUP
BY CustomerID
Order by Nr_Blerjeve DESC; --Rendit vlerat nga me e
madhja tek me e vogla ose nga Z-A
n Shfaq 10 rrjeshtat e pare ose 10 konsumatoret me Nr_Blerjeve me te madhe ne tabelen “orders”
SELECT
CustomerID, COUNT(*) AS Nr_Blerjeve
FROM
orders
GROUP
BY CustomerID
Order
by Nr_Blerjeve DESC
LIMIT 10; -- Nxjerr 10 rrjeshtat e pare te
rezultatit
n Shfaq rrjeshtat nga 11 ne 15
SELECT
CustomerID, COUNT(*) AS Nr_Blerjeve
FROM
orders
GROUP
BY CustomerID
Order
by Nr_Blerjeve DESC
LIMIT 10, 5 -- Heq 10 rreshtat e pare te rezultatit
dhe nxjerr 5 rrjeshtat e rradhes.
n Shfaq tabelen e plote “order_details”.
SELECT
*
FROM order_details;
n Krijon nje fushe te re qe nxjerr vleren totale te cdo rrjeshti nga
tabela “order_details” qe del si rezultat i shumzimit te 3 fushave te tabeles.
SELECT
OrderID, ProductID, (UnitPrice * Quantity * (1-Discount)) AS Total
FROM order_details ;
n Nxjerr totalin e cdo porosije nga tabela “order_details”.
SELECT
OrderID, SUM(UnitPrice * Quantity * (1-Discount)) AS Total
FROM order_details
GROUP BY OrderID
ORDER BY Total
n Nxjerr daten e porosive nga tabela “orders” dhe pastaj kesaj date i
nxirret viti, muaji, dita. Porosite filtrohen ne menyre qe te dalin vetem
porosite e vitit 2007.
SELECT
OrderDate, YEAR(OrderDate), MONTH(OrderDate), DAY(OrderDate)
FROM
orders
WHERE YEAR(OrderDate) = 2007;
n Nxjerr datat e porosive per vitin 2007 si dhe nje date tjeter qe del si
rezultat i dates se porosise + 3 Jave.
SELECT
OrderDate, DATE_ADD( OrderDate , INTERVAL 3 WEEK )
FROM
orders
WHERE YEAR(OrderDate) = 2007;
n Nxjerr datat e porosive per vitin 2007 diferencen (DATEDIFF) midis dates se fundit te muajit per daten e porosise LAST_DAY( OrderDate
) me daten e porosise.
SELECT
OrderDate, DATEDIFF( LAST_DAY( OrderDate ) , OrderDate )
FROM
orders
WHERE YEAR(OrderDate) = 2007;
n Krijon nje fushe te re qe del si rezultat i bashkimit te fushave dhe
elementeve teks te vendosura ne shprehjen.
SELECT
CONCAT( CompanyName, ' - ' , ContactName, ', Phone: ', Phone) AS Contact_Info
FROM customers;
n Krijon nje fushe te re qe del si rezultat i bashkimit te fushave dhe
elementeve tekts te vendosura ne shprehjen.
SELECT
ContactName,
CONCAT( -- Bashkon copezat
e tekstit te me poshtme
SUBSTRING( ContactName, 1,1)
, -- Nxjerr vetem shkronjen e pare te emrit
'. ' ,
SUBSTRING_INDEX(
ContactName, ' ' , -1 ) -- Nxjerr tekstin qe ndodhet pas
-- hapesires se pare boshe
-- hapesires se pare boshe
) AS cname
FROM
customers
INNER JOIN
n Nxjerr informacion nga 2 tabela (customers dhe orders) per konsumatorin
dhe porosite e realizuara prej tij midis datave ‘2007-07-01' dhe '2007-07-15'.
SELECT
a.City, a.CompanyName, b.Orderid, b.OrderDate
FROM
customers AS a
INNER JOIN
orders AS b
ON b.CustomerID = a.CustomeriID
WHERE b.OrderDate BETWEEN '2007-07-01' AND '2007-07-15';
n Nxjerr informacion nga 3 tabela (orders, order_details dhe products) per
konsumatorin me CustomerID “ALFKI” dhe
porosite e realizuara prej tij per cdo produkt me emrin, cmimin dhe sasine e
blere.
SELECT
a.CustomerID, a.OrderID, a.OrderDate,
c.ProductName,
b.UnitPrice, b.Quantity
FROM
orders AS a
INNER JOIN
order_details AS b
ON b.OrderID = a.OrderID
INNER JOIN
products AS c
ON b.ProductID = c.ProductID
WHERE a.CustomerID = 'ALFKI';
n Nxjerr informacion nga 3 tabela (orders, order_details dhe products) per
konsumatorin me CustomerID “ALFKI” dhe
porosite e realizuara prej tij per cdo produkt me emrin, cmimin dhe sasine e
blere si dhe totalin e paguar.
SELECT
a.CustomerID, a.OrderID, a.OrderDate,
c.ProductName,
b.UnitPrice, b.Quantity,
b.Discount, b.UnitPrice * b.Quantity
* (1-b.Discount) AS Total
FROM
orders AS a
INNER JOIN
order_details AS b
ON b.OrderID = a.OrderID
INNER JOIN
products AS c
ON b.ProductID = c.ProductID
WHERE a.CustomerID = 'ALFKI';
n Nxjerr Totalin e shpenzuar nga konsumatori me CustomerID “ALFKI” si dhe numrin e produkteve te ndryshme per
cdo porosi te realizuar.
SELECT
a.CustomerID, a.OrderID,
SUM( b.UnitPrice * b.Quantity ) as Total,
COUNT(*) AS num_products
FROM
orders AS a
INNER JOIN
order_details
AS b
ON b.OrderID = a.OrderID
INNER JOIN
products AS c
ON b.ProductID = c.ProductID
WHERE
a.CustomerID = 'ALFKI'
GROUP
BY a.OrderID
n Nxjerr informacion nga 2 tabela (orders dhe order_details) duke nxjerrur
Totalin e shpenzuar nga cdo konsumator te renditura nga ai qe ka shpenzuar me
shume ne ate qe ka shpenzuar me pake.
SELECT
a.CustomerID, SUM(b.UnitPrice *
b.Quantity * (1-b.Discount)) AS Total
FROM
orders AS a
INNER JOIN
order_details AS b
ON b.OrderID = a.OrderID
GROUP BY a.CustomerID
ORDER BY Total DESC;
OUTER JOIN
n Nxjerr te gjitha porosite e realizuara nga konsumatoret “ALFKI”, “BOLID”
dhe “PARIS”. Vini re se konsumatori “PARIS” pavarsisht se nuk ka kryer porosi
do te shfaqet ne tabele sepse ai ndodhet ne tabelen e majte gjate lidhjes se dy
tabelave.
SELECT
a.CustomerID, a.CompanyName, b.OrderID,
b.OrderDate
FROM
customers AS a
LEFT OUTER JOIN
orders AS b
ON b.CustomerID = a.CustomerID
WHERE a.CustomerID IN ( 'ALFKI' , 'BOLID' , 'PARIS'
);
n Vini re se konsumatori “PARIS” pavarsisht nuk shfaqet ne tabele pasi
tashme lidhja eshte realizuar me RIGHT OUTER JOIN dhe ai
ndodhet ne tabelen e majte.
SELECT
a.CustomerID, a.CompanyName, b.OrderID,
b.OrderDate
FROM
customers AS a
RIGHT OUTER JOIN
orders AS b
ON b.CustomerID = a.CustomerID
WHERE a.CustomerID IN ( 'ALFKI' , 'BOLID' , 'PARIS'
);
n Vini re se konsumatori “PARIS” do te shfaqet perseri pasi tani me
lidhjen RIGHT
OUTER JOIN ai ndodhet ne tabelen e
djathte.
SELECT
a.CustomerID, a.CompanyName, b.OrderID,
b.OrderDate
FROM
orders AS b
RIGHT OUTER JOIN
customers AS a
ON b.CustomerID = a.CustomerID
WHERE a.CustomerID IN ( 'ALFKI' , 'BOLID' , 'PARIS'
);
Nxjerr te gjitha porosite e
realizuara nga konsumatoret “ALFKI”, “BOLID” dhe “PARIS” te realizuara nga data
'2007-01-01' deri ne daten '2007-12-31'. Vini re se konsumatori “PARIS”
pavarsisht se nuk ka kryer porosi do te shfaqet ne tabele sepse ai ndodhet ne
tabelen e majte gjate lidhjes se dy tabelave dhe gjithashtu ne kushtin WHERE
pranohet dhe b.OrderDate
IS NULL.
SELECT
a.CustomerID, a.CompanyName, b.OrderID,
b.OrderDate
FROM
customers AS a
LEFT OUTER JOIN
orders AS b
ON b.CustomerID = a.CustomerID
WHERE
a.CustomerID IN ( 'ALFKI' , 'BOLID' , 'PARIS' )
AND
(
b.OrderDate BETWEEN '2007-01-01' AND
'2007-12-31'
OR
b.OrderDate IS NULL
);
n Nxjerr punetoret dhe shefat e tyre.
SELECT
a.EmployeeID, a.FirstName, a.LastName,
b.EmployeeID, b.FirstName, b.LastName
FROM
employees AS a
LEFT OUTER JOIN
employees AS b
ON b.EmployeeID = a.ReportsTo;
n Nxjerr punetoret dhe nen-punesit e tyre.
SELECT
a.EmployeeID, a.FirstName, a.LastName,
b.EmployeeID, b.FirstName, b.LastName
FROM
employees AS a
LEFT OUTER JOIN
employees AS b
ON b.ReportsTo = a.EmployeeID;
n Nxjerr shefat dhe nen-punesit e tyre.
SELECT
a.EmployeeID, a.FirstName, a.LastName,
b.EmployeeID, b.FirstName, b.LastName
FROM
employees AS a
INNER JOIN
employees AS b
ON b.ReportsTo = a.EmployeeID;
SUBQUERY ose
NenPyetsor
n Shfaq porosite e konsumatoreve te cilet jane nga qyteti i berlinit.
SELECT
CustomerID, OrderID, OrderDate
FROM
Orders
WHERE
CustomerID IN (
SELECT CustomerID
FROM Customers
WHERE City LIKE 'Berlin%'
);