22USE library
33SELECT title
44FROM title
5- WHERE title_no= 10 ;
5+ WHERE title_no = 10 ;
66
77USE library
88SELECT member_no
99FROM loanhist
10- WHERE isnull(fine_assessed,0 ) > isnull(fine_paid,0 ) + isnull(fine_waived,0 )
10+ WHERE isnull(fine_assessed, 0 ) > isnull(fine_paid, 0 ) + isnull(fine_waived, 0 )
1111
1212USE library
1313SELECT DISTINCT city, state
1414FROM adult
1515
1616USE library
17- SELECT (lower (firstname + middleinitial + substring (lastname,1 , 2 ))) AS ' email_name'
17+ SELECT (lower (firstname + middleinitial + substring (lastname, 1 , 2 ))) AS ' email_name'
1818FROM member
1919WHERE lastname = ' Anderson' ;
2020
2121USE Northwind
22- SELECT (UnitPrice * Quantity * (1 - Discount)) as ' wartosc'
22+ SELECT (UnitPrice * Quantity * (1 - Discount)) as ' wartosc'
2323FROM [Order Details]
2424WHERE OrderID = 10250 ;
2525
@@ -63,7 +63,8 @@ WHERE fine_assessed BETWEEN 8 AND 9
6363USE library
6464SELECT title_no, author
6565FROM title
66- WHERE author= ' Charles Dickens' or author= ' Jane Austen'
66+ WHERE author = ' Charles Dickens'
67+ or author = ' Jane Austen'
6768
6869-- 5. Napisz polecenie, które wybiera numer tytułu i tytuł dla wszystkich rekordów zawierających string „adventures” gdzieś w tytule
6970
@@ -77,7 +78,7 @@ WHERE title LIKE '%adventures%'
7778USE library
7879SELECT member_no, fine_assessed, fine_paid
7980FROM loanhist
80- WHERE fine_paid= 0
81+ WHERE fine_paid = 0
8182
8283-- 7. Napisz polecenie, które wybiera wszystkie unikalne pary miast i stanów z tablicy adult.
8384USE library
@@ -102,8 +103,9 @@ ORDER BY title ASC;
102103USE library
103104SELECT member_no, isbn, sum (fine_assessed) as ' total fines' , fine_assessed * 2 as ' double fine'
104105FROM loanhist
105- WHERE fine_assessed IS NOT NULL AND fine_assessed!= 0
106- GROUP BY member_no, isbn , fine_assessed
106+ WHERE fine_assessed IS NOT NULL
107+ AND fine_assessed != 0
108+ GROUP BY member_no, isbn, fine_assessed
107109
108110-- 3. Napisz polecenie, które generuje pojedynczą kolumnę, która zawiera kolumny: imię
109111-- członka biblioteki, inicjał drugiego imienia i nazwisko dla
@@ -117,9 +119,9 @@ GROUP BY member_no, isbn , fine_assessed
117119-- wykorzystaj operator (+) do połączenia stringów.
118120
119121USE library
120- SELECT LOWER (firstname + middleinitial + substring (lastname,1 , 2 )) as ' email_name'
122+ SELECT LOWER (firstname + middleinitial + substring (lastname, 1 , 2 )) as ' email_name'
121123FROM member
122- WHERE lastname= ' Anderson'
124+ WHERE lastname = ' Anderson'
123125
124126-- 4. Napisz polecenie, które wybiera title i title_no z tablicy
125127-- title. Wynikiem powinna być pojedyncza kolumna o formacie jak w
@@ -148,34 +150,33 @@ USE Northwind
148150
149151SELECT COUNT (ProductID) as ' Count'
150152FROM Products
151- WHERE UnitPrice< 10 or UnitPrice < 20 ;
152-
153+ WHERE UnitPrice < 10
154+ or UnitPrice < 20 ;
153155
154156
155157
156158-- 2. Podaj maksymalną cenę produktu dla produktów o cenach
157159-- poniżej 20$
158160
159- SELECT TOP 1 ProductName,UnitPrice
161+ SELECT TOP 1 ProductName, UnitPrice
160162FROM Products
161- WHERE UnitPrice< 20
163+ WHERE UnitPrice < 20
162164ORDER BY UnitPrice DESC ;
163165
164166
165167
166-
167168-- 3. Podaj maksymalną, minimalną i średnią cenę produktu dla
168169-- produktów sprzedawanych w butelkach (‘bottle’)
169170
170171
171172SELECT (SELECT TOP 1 UnitPrice
172173 FROM Products
173174 WHERE QuantityPerUnit LIKE ' %bottle%'
174- ORDER BY UnitPrice DESC ) as ' max price' ,
175+ ORDER BY UnitPrice DESC ) as ' max price' ,
175176 (SELECT TOP 1 UnitPrice
176177 FROM Products
177- WHERE QuantityPerUnit LIKE ' %bottle%'
178- ORDER BY UnitPrice ) as ' min price' ,
178+ WHERE QuantityPerUnit LIKE ' %bottle%'
179+ ORDER BY UnitPrice) as ' min price' ,
179180 (SELECT AVG (UnitPrice)
180181 FROM Products
181182 WHERE QuantityPerUnit LIKE ' %bottle%' ) as ' avg price' ;
@@ -194,7 +195,7 @@ WHERE UnitPrice > 28.8663;
194195-- 5. Podaj wartość zamówienia o numerze 10250
195196SELECT SUM ((UnitPrice * Quantity * (1 - Discount)))
196197FROM [Order Details]
197- WHERE OrderID= 10250 ;
198+ WHERE OrderID = 10250 ;
198199
199200-- ćwiczenie kolejne
200201
@@ -228,8 +229,8 @@ GROUP BY ShipVia
228229-- 4. Który ze spedytorów był najaktywniejszy w 1997 roku?
229230SELECT Shippers .CompanyName , COUNT (OrderId) as no_orders
230231FROM Orders
231- INNER JOIN Shippers ON ShipperID = Orders .ShipVia
232- WHERE YEAR(OrderDate)= 1997
232+ INNER JOIN Shippers ON ShipperID = Orders .ShipVia
233+ WHERE YEAR(OrderDate) = 1997
233234GROUP BY Shippers .CompanyName
234235ORDER BY no_orders DESC
235236
@@ -238,21 +239,10 @@ ORDER BY no_orders DESC
238239-- zamówienia jest większa niż 5
239240
240241
241-
242-
243-
244-
245242SELECT orderid, COUNT (* ) as ' total orders'
246243FROM [Order Details]
247244GROUP BY orderid
248- HAVING COUNT (* )> 5
249-
250-
251-
252-
253-
254-
255-
245+ HAVING COUNT (* ) > 5
256246
257247
258248-- 2. Wyświetl klientów, dla których w 1998 roku zrealizowano
@@ -261,129 +251,71 @@ HAVING COUNT(*)>5
261251-- klientów)
262252
263253
264- SELECT Orders .CustomerID , COUNT (Orders .OrderID ) as ' total orders' , SUM ((UnitPrice * Quantity * (1 - Discount))) as ' total sum'
254+ SELECT Orders .CustomerID ,
255+ COUNT (Orders .OrderID ) as ' total orders' ,
256+ SUM ((UnitPrice * Quantity * (1 - Discount))) as ' total sum'
265257FROM Orders
266- INNER JOIN [Order Details] ON Orders .OrderID = [Order Details].OrderID
267- WHERE YEAR(ShippedDate)= 1998
258+ INNER JOIN [Order Details] ON Orders .OrderID = [Order Details].OrderID
259+ WHERE YEAR(ShippedDate) = 1998
268260GROUP BY CustomerID
269- HAVING COUNT (Orders .OrderID )> 8
261+ HAVING COUNT (Orders .OrderID ) > 8
270262ORDER BY ' total sum' DESC ;
271263
272264-- apparently freight = oplata za przewoz XDDD
273265-- freight z ang. = załadunek XDDDDD
274266
275267SELECT CustomerID, SUM ((UnitPrice * Quantity * (1 - Discount))) as ' totalsum'
276- FROM Orders, [Order Details]
277- WHERE YEAR(ShippedDate)= 1998
268+ FROM Orders,
269+ [Order Details]
270+ WHERE YEAR(ShippedDate) = 1998
278271GROUP BY CustomerID
279- HAVING COUNT (Orders .OrderID )> 8
272+ HAVING COUNT (Orders .OrderID ) > 8
280273ORDER BY totalsum DESC ;
281274
282275
283276
284-
285-
286-
287277SELECT productid, orderid, sum (quantity)
288278FROM orderhist
289- GROUP BY productid, orderid WITH CUBE
279+ GROUP BY productid, orderid
280+ WITH CUBE
290281ORDER BY productid, orderid
291282
292283
293- SELECT ' <null>' , ' <null>' ,sum (quantity)
284+ SELECT ' <null>' , ' <null>' , sum (quantity)
294285FROM orderhist
295286
296287
297288SELECT productid, sum (quantity)
298289FROM orderhist
299- WHERE ProductID= 1 -- 2
290+ WHERE ProductID = 1 -- 2
300291GROUP BY productid
301292
302293
303-
304294-- ZADANIE AGREGATY KONCOWE
305295
306296
307-
308-
309-
310-
311-
312-
313-
314-
315- SELECT FirstName + ' ' + LastName, DATEDIFF(year, HireDate, GETDATE())
297+ SELECT FirstName + ' ' + LastName, DATEDIFF(year, HireDate, GETDATE())
316298FROM Employees
317299
318300
319-
320-
321-
322301SELECT MIN (LEN(FirstName))
323302FROM Employees
324303
325304
326-
327-
328-
329-
330-
331-
332305SELECT EmployeeID, COUNT (* ), MIN (OrderDate)
333306FROM Orders
334307GROUP BY EmployeeID
335308ORDER BY EmployeeID
336309
337310
338-
339-
340-
341-
342-
343-
344311SELECT CustomerID, SUM (Freight)
345312FROM Orders
346313WHERE RequiredDate - ShippedDate < 0
347314GROUP BY CustomerID
348315
349316
350-
351-
352-
353-
354317USE Library
355- SELECT TOP 1 YEAR(in_date),SUM (fine_assessed)
318+ SELECT TOP 1 YEAR(in_date), SUM (fine_assessed)
356319FROM loanhist
357320GROUP BY YEAR(in_date)
358- ORDER BY SUM (fine_assessed) DESC ;
359-
360-
361-
362-
363-
364-
365-
366-
367-
368-
369-
370-
371-
372-
373-
374-
375-
376-
377-
378-
379-
380-
381-
382-
383-
384-
385-
386-
387-
388-
389-
321+ ORDER BY SUM (fine_assessed) DESC ;
0 commit comments