{"id":850,"date":"2026-09-30T11:59:57","date_gmt":"2026-09-30T10:59:57","guid":{"rendered":"https:\/\/zajecia.tsadowski.pl\/?p=850"},"modified":"2026-10-12T13:28:41","modified_gmt":"2026-10-12T12:28:41","slug":"powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql","status":"publish","type":"post","link":"https:\/\/zajecia.tsadowski.pl\/index.php\/2026\/09\/30\/powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql\/","title":{"rendered":"Powt\u00f3rzenie wiadomo\u015bci \u2013 zapytania SELECT, filtrowanie i grupowanie danych w SQL"},"content":{"rendered":"<h2>Cel lekcji<\/h2>\n<p>Ucze\u0144 potrafi:<\/p>\n<ul>\n<li>\n<p>pobiera\u0107 dane z tabel za pomoc\u0105 <code>SELECT<\/code>;<\/p>\n<\/li>\n<li>\n<p>stosowa\u0107 z\u0142o\u017cone warunki filtrowania z wykorzystaniem <code>WHERE<\/code>;<\/p>\n<\/li>\n<li>\n<p>\u0142\u0105czy\u0107 warunki za pomoc\u0105 operator\u00f3w <code>AND<\/code>, <code>OR<\/code> i <code>NOT<\/code>;<\/p>\n<\/li>\n<li>\n<p>wykorzystywa\u0107 operatory <code>IN<\/code>, <code>BETWEEN<\/code>, <code>LIKE<\/code> oraz <code>IS NULL<\/code>;<\/p>\n<\/li>\n<li>\n<p>sortowa\u0107 wyniki za pomoc\u0105 <code>ORDER BY<\/code>;<\/p>\n<\/li>\n<li>\n<p>stosowa\u0107 funkcje agreguj\u0105ce <code>COUNT()<\/code>, <code>SUM()<\/code>, <code>AVG()<\/code>, <code>MIN()<\/code> i <code>MAX()<\/code>;<\/p>\n<\/li>\n<li>\n<p>grupowa\u0107 dane za pomoc\u0105 <code>GROUP BY<\/code>;<\/p>\n<\/li>\n<li>\n<p>filtrowa\u0107 wyniki grupowania za pomoc\u0105 <code>HAVING<\/code>;<\/p>\n<\/li>\n<li>\n<p>\u0142\u0105czy\u0107 warunki <code>WHERE<\/code> i <code>HAVING<\/code> w jednym zapytaniu;<\/p>\n<\/li>\n<li>\n<p>analizowa\u0107 dane i tworzy\u0107 zapytania SQL na podstawie opisu problemu.<\/p>\n<\/li>\n<\/ul>\n<p>Uwaga: Wszystkie \u0107wiczenia wykonujemy na pojedynczych tabelach. Nie wykorzystujemy instrukcji <code>JOIN<\/code>.<\/p>\n<h1>1. Przygotowanie bazy danych<\/h1>\n<p>Podczas lekcji b\u0119dziemy pracowa\u0107 na bazie danych przedstawiaj\u0105cej niewielki sklep internetowy. Baza zawiera informacje o klientach, produktach i zam\u00f3wieniach.<\/p>\n<h2>Skrypt tworz\u0105cy baz\u0119 danych<\/h2>\n<p>Uruchom poni\u017cszy skrypt w \u015brodowisku MySQL, np. w phpMyAdmin lub MySQL Workbench.<\/p>\n<p>SQL<\/p>\n<pre><code>CREATE DATABASE sklep_powtorzenie;\nUSE sklep_powtorzenie;\n\nCREATE TABLE klienci (\n    id_klienta INT AUTO_INCREMENT PRIMARY KEY,\n    imie VARCHAR(50),\n    nazwisko VARCHAR(50),\n    miasto VARCHAR(50),\n    wiek INT,\n    email VARCHAR(100)\n);\n\nCREATE TABLE produkty (\n    id_produktu INT AUTO_INCREMENT PRIMARY KEY,\n    nazwa VARCHAR(100),\n    kategoria VARCHAR(50),\n    cena DECIMAL(10,2),\n    stan_magazynowy INT\n);\n\nCREATE TABLE zamowienia (\n    id_zamowienia INT AUTO_INCREMENT PRIMARY KEY,\n    id_klienta INT,\n    data_zamowienia DATE,\n    status VARCHAR(30),\n    wartosc DECIMAL(10,2),\n    metoda_platnosci VARCHAR(30)\n);<\/code><\/pre>\n<h2>Wprowadzanie danych do tabel<\/h2>\n<h3>Tabela klienci<\/h3>\n<pre><code>INSERT INTO klienci (imie, nazwisko, miasto, wiek, email) VALUES\n(&#039;Adam&#039;, &#039;Kowalski&#039;, &#039;Warszawa&#039;, 25, &#039;adam@example.com&#039;),\n(&#039;Anna&#039;, &#039;Nowak&#039;, &#039;Krakow&#039;, 32, &#039;anna@example.com&#039;),\n(&#039;Piotr&#039;, &#039;Wisniewski&#039;, &#039;Gdansk&#039;, 41, &#039;piotr@example.com&#039;),\n(&#039;Ewa&#039;, &#039;Wojcik&#039;, &#039;Warszawa&#039;, 28, &#039;ewa@example.com&#039;),\n(&#039;Tomasz&#039;, &#039;Kaminski&#039;, &#039;Poznan&#039;, 35, &#039;tomasz@example.com&#039;),\n(&#039;Katarzyna&#039;, &#039;Lewandowska&#039;, &#039;Krakow&#039;, 22, &#039;kasia@example.com&#039;),\n(&#039;Michal&#039;, &#039;Zielinski&#039;, &#039;Lublin&#039;, 46, &#039;michal@example.com&#039;),\n(&#039;Magdalena&#039;, &#039;Szymanska&#039;, &#039;Gdansk&#039;, 30, &#039;magda@example.com&#039;),\n(&#039;Pawel&#039;, &#039;Dabrowski&#039;, &#039;Warszawa&#039;, 19, &#039;pawel@example.com&#039;),\n(&#039;Joanna&#039;, &#039;Kozlowska&#039;, &#039;Poznan&#039;, 39, &#039;joanna@example.com&#039;),\n(&#039;Marcin&#039;, &#039;Jankowski&#039;, &#039;Lublin&#039;, 27, &#039;marcin@example.com&#039;),\n(&#039;Agnieszka&#039;, &#039;Mazur&#039;, &#039;Krakow&#039;, 51, &#039;agnieszka@example.com&#039;),\n(&#039;Krzysztof&#039;, &#039;Wozniak&#039;, &#039;Warszawa&#039;, 44, &#039;krzysztof@example.com&#039;),\n(&#039;Monika&#039;, &#039;Krawczyk&#039;, &#039;Gdansk&#039;, 24, &#039;monika@example.com&#039;),\n(&#039;Robert&#039;, &#039;Piotrowski&#039;, &#039;Poznan&#039;, 33, &#039;robert@example.com&#039;),\n(&#039;Natalia&#039;, &#039;Grabowska&#039;, &#039;Lublin&#039;, 29, &#039;natalia@example.com&#039;),\n(&#039;Damian&#039;, &#039;Nowicki&#039;, &#039;Krakow&#039;, 37, &#039;damian@example.com&#039;),\n(&#039;Aleksandra&#039;, &#039;Pawlak&#039;, &#039;Warszawa&#039;, 31, &#039;ola@example.com&#039;),\n(&#039;Rafal&#039;, &#039;Michalski&#039;, &#039;Gdansk&#039;, 48, &#039;rafal@example.com&#039;),\n(&#039;Julia&#039;, &#039;Krol&#039;, &#039;Poznan&#039;, 21, &#039;julia@example.com&#039;);<\/code><\/pre>\n<h3>Tabela produkty<\/h3>\n<pre><code>INSERT INTO produkty (nazwa, kategoria, cena, stan_magazynowy) VALUES\n(&#039;Laptop Lenovo&#039;, &#039;Komputery&#039;, 3500.00, 12),\n(&#039;Laptop Dell&#039;, &#039;Komputery&#039;, 4200.00, 8),\n(&#039;Komputer HP&#039;, &#039;Komputery&#039;, 3100.00, 5),\n(&#039;Smartfon Samsung&#039;, &#039;Smartfony&#039;, 2800.00, 20),\n(&#039;Smartfon Xiaomi&#039;, &#039;Smartfony&#039;, 1900.00, 15),\n(&#039;iPhone 15&#039;, &#039;Smartfony&#039;, 4500.00, 7),\n(&#039;Mysz Logitech&#039;, &#039;Akcesoria&#039;, 120.00, 50),\n(&#039;Klawiatura mechaniczna&#039;, &#039;Akcesoria&#039;, 350.00, 25),\n(&#039;Monitor 27 cali&#039;, &#039;Akcesoria&#039;, 1100.00, 18),\n(&#039;Sluchawki gamingowe&#039;, &#039;Gaming&#039;, 280.00, 30),\n(&#039;Konsola Xbox&#039;, &#039;Gaming&#039;, 2200.00, 10),\n(&#039;Konsola PlayStation&#039;, &#039;Gaming&#039;, 2500.00, 6),\n(&#039;Ekspres do kawy&#039;, &#039;AGD&#039;, 1600.00, 9),\n(&#039;Odkurzacz&#039;, &#039;AGD&#039;, 850.00, 14),\n(&#039;Glosnik Bluetooth&#039;, &#039;Akcesoria&#039;, 450.00, 0),\n(&#039;Tablet Samsung&#039;, &#039;Komputery&#039;, 1800.00, 11),\n(&#039;Smartwatch Apple&#039;, &#039;Smartfony&#039;, 1700.00, 4),\n(&#039;Mikrofon USB&#039;, &#039;Akcesoria&#039;, 390.00, 22),\n(&#039;Kamera internetowa&#039;, &#039;Akcesoria&#039;, 250.00, 35),\n(&#039;Fotel gamingowy&#039;, &#039;Gaming&#039;, 950.00, 3),\n(&#039;Drukarka HP&#039;, &#039;Komputery&#039;, 750.00, 16),\n(&#039;Router TP-Link&#039;, &#039;Akcesoria&#039;, 320.00, 19),\n(&#039;Czajnik elektryczny&#039;, &#039;AGD&#039;, 180.00, 40),\n(&#039;Blender Bosch&#039;, &#039;AGD&#039;, 420.00, 13),\n(&#039;Monitor Samsung&#039;, &#039;Akcesoria&#039;, 1450.00, 0);<\/code><\/pre>\n<h3>Tabela zamowienia<\/h3>\n<pre><code>INSERT INTO zamowienia\n(id_klienta, data_zamowienia, status, wartosc, metoda_platnosci) VALUES\n(1, &#039;2026-01-10&#039;, &#039;zrealizowane&#039;, 3620.00, &#039;karta&#039;),\n(2, &#039;2026-01-15&#039;, &#039;zrealizowane&#039;, 3150.00, &#039;przelew&#039;),\n(3, &#039;2026-01-20&#039;, &#039;wyslane&#039;, 6400.00, &#039;karta&#039;),\n(1, &#039;2026-02-05&#039;, &#039;zrealizowane&#039;, 3920.00, &#039;blik&#039;),\n(4, &#039;2026-02-10&#039;, &#039;anulowane&#039;, 4500.00, &#039;karta&#039;),\n(5, &#039;2026-02-15&#039;, &#039;zrealizowane&#039;, 2760.00, &#039;gotowka&#039;),\n(6, &#039;2026-02-20&#039;, &#039;wyslane&#039;, 3800.00, &#039;przelew&#039;),\n(7, &#039;2026-03-01&#039;, &#039;zrealizowane&#039;, 2780.00, &#039;karta&#039;),\n(8, &#039;2026-03-05&#039;, &#039;zrealizowane&#039;, 2450.00, &#039;blik&#039;),\n(9, &#039;2026-03-10&#039;, &#039;oczekujace&#039;, 2800.00, &#039;przelew&#039;),\n(10, &#039;2026-03-15&#039;, &#039;zrealizowane&#039;, 4600.00, &#039;karta&#039;),\n(2, &#039;2026-03-20&#039;, &#039;wyslane&#039;, 2260.00, &#039;blik&#039;),\n(3, &#039;2026-04-01&#039;, &#039;zrealizowane&#039;, 6400.00, &#039;przelew&#039;),\n(5, &#039;2026-04-05&#039;, &#039;anulowane&#039;, 4500.00, &#039;karta&#039;),\n(11, &#039;2026-04-10&#039;, &#039;zrealizowane&#039;, 630.00, &#039;gotowka&#039;),\n(12, &#039;2026-04-15&#039;, &#039;oczekujace&#039;, 1700.00, &#039;przelew&#039;),\n(4, &#039;2026-04-20&#039;, &#039;zrealizowane&#039;, 5300.00, &#039;karta&#039;),\n(6, &#039;2026-05-01&#039;, &#039;zrealizowane&#039;, 3040.00, &#039;blik&#039;),\n(7, &#039;2026-05-05&#039;, &#039;wyslane&#039;, 3060.00, &#039;przelew&#039;),\n(8, &#039;2026-05-10&#039;, &#039;zrealizowane&#039;, 1950.00, &#039;gotowka&#039;),\n(1, &#039;2026-05-15&#039;, &#039;zrealizowane&#039;, 5200.00, &#039;karta&#039;),\n(9, &#039;2026-05-20&#039;, &#039;anulowane&#039;, 3500.00, &#039;blik&#039;),\n(10, &#039;2026-06-01&#039;, &#039;zrealizowane&#039;, 4200.00, &#039;przelew&#039;),\n(11, &#039;2026-06-05&#039;, &#039;wyslane&#039;, 1850.00, &#039;karta&#039;),\n(12, &#039;2026-06-10&#039;, &#039;zrealizowane&#039;, 2750.00, &#039;blik&#039;),\n(3, &#039;2026-06-15&#039;, &#039;zrealizowane&#039;, 5800.00, &#039;karta&#039;),\n(4, &#039;2026-06-20&#039;, &#039;oczekujace&#039;, 1250.00, &#039;gotowka&#039;),\n(5, &#039;2026-07-01&#039;, &#039;zrealizowane&#039;, 3400.00, &#039;przelew&#039;),\n(6, &#039;2026-07-05&#039;, &#039;zrealizowane&#039;, 2200.00, &#039;karta&#039;),\n(7, &#039;2026-07-10&#039;, &#039;wyslane&#039;, 4100.00, &#039;blik&#039;),\n(8, &#039;2026-07-15&#039;, &#039;zrealizowane&#039;, 1800.00, &#039;gotowka&#039;),\n(9, &#039;2026-07-20&#039;, &#039;zrealizowane&#039;, 3900.00, &#039;przelew&#039;),\n(10, &#039;2026-08-01&#039;, &#039;anulowane&#039;, 2700.00, &#039;karta&#039;),\n(11, &#039;2026-08-05&#039;, &#039;zrealizowane&#039;, 5200.00, &#039;blik&#039;),\n(12, &#039;2026-08-10&#039;, &#039;wyslane&#039;, 3100.00, &#039;przelew&#039;),\n(1, &#039;2026-08-15&#039;, &#039;zrealizowane&#039;, 2800.00, &#039;karta&#039;),\n(2, &#039;2026-08-20&#039;, &#039;zrealizowane&#039;, 4600.00, &#039;blik&#039;),\n(3, &#039;2026-09-01&#039;, &#039;zrealizowane&#039;, 3500.00, &#039;przelew&#039;),\n(4, &#039;2026-09-05&#039;, &#039;wyslane&#039;, 2400.00, &#039;karta&#039;),\n(5, &#039;2026-09-10&#039;, &#039;zrealizowane&#039;, 1800.00, &#039;gotowka&#039;),\n(6, &#039;2026-09-15&#039;, &#039;zrealizowane&#039;, 5700.00, &#039;blik&#039;);<\/code><\/pre>\n<hr \/>\n<h3>\u0106wiczenie 1<\/h3>\n<p>Wy\u015bwietl nazwy, ceny i stany magazynowe produkt\u00f3w, kt\u00f3rych cena jest wi\u0119ksza ni\u017c 1000 z\u0142, ale mniejsza ni\u017c 4000 z\u0142, a stan magazynowy jest wi\u0119kszy ni\u017c 5 sztuk. Wyniki posortuj malej\u0105co wed\u0142ug ceny.<\/p>\n<h3>\u0106wiczenie 2<\/h3>\n<p>Wy\u015bwietl imiona, nazwiska, miasta i wiek klient\u00f3w, kt\u00f3rzy mieszkaj\u0105 w Warszawie lub Krakowie, maj\u0105 wi\u0119cej ni\u017c 25 lat, ale nie wi\u0119cej ni\u017c 40 lat. Wyniki posortuj alfabetycznie wed\u0142ug nazwiska.<\/p>\n<h3>\u0106wiczenie 3<\/h3>\n<p>Wy\u015bwietl nazwy produkt\u00f3w, kt\u00f3rych cena jest ni\u017csza ni\u017c 500 z\u0142 lub stan magazynowy wynosi 0. Uwzgl\u0119dnij jednak tylko produkty, kt\u00f3rych nazwa zawiera s\u0142owo \u201egaming\u201d lub \u201eBluetooth\u201d. Wyniki posortuj rosn\u0105co wed\u0142ug ceny.<\/p>\n<h3>\u0106wiczenie 4<\/h3>\n<p>Wy\u015bwietl wszystkie informacje o zam\u00f3wieniach z\u0142o\u017conych w okresie od 1 lutego do 30 czerwca 2026 roku, kt\u00f3rych status nie jest r\u00f3wny \u201eanulowane\u201d ani \u201eoczekujace\u201d. Uwzgl\u0119dnij tylko zam\u00f3wienia o warto\u015bci wi\u0119kszej ni\u017c 2000 z\u0142. Wyniki posortuj od najnowszego zam\u00f3wienia.<\/p>\n<h3>\u0106wiczenie 5<\/h3>\n<p>Dla ka\u017cdej kategorii produkt\u00f3w wy\u015bwietl jej nazw\u0119 oraz liczb\u0119 produkt\u00f3w. Uwzgl\u0119dnij tylko produkty, kt\u00f3rych stan magazynowy jest wi\u0119kszy od 0. Wyniki posortuj malej\u0105co wed\u0142ug liczby produkt\u00f3w.<\/p>\n<h3>\u0106wiczenie 6<\/h3>\n<p>Dla ka\u017cdej kategorii produkt\u00f3w oblicz \u015bredni\u0105 cen\u0119 produkt\u00f3w. Wy\u015bwietl tylko te kategorie, w kt\u00f3rych \u015brednia cena jest wi\u0119ksza ni\u017c 1000 z\u0142. Wyniki posortuj malej\u0105co wed\u0142ug \u015bredniej ceny.<\/p>\n<h3>\u0106wiczenie 7<\/h3>\n<p>Wy\u015bwietl liczb\u0119 zam\u00f3wie\u0144 z\u0142o\u017conych przez ka\u017cdego klienta. Uwzgl\u0119dnij tylko zam\u00f3wienia o statusie \u201ezrealizowane\u201d. Wy\u015bwietl identyfikator klienta oraz liczb\u0119 zam\u00f3wie\u0144. Poka\u017c tylko tych klient\u00f3w, kt\u00f3rzy maj\u0105 co najmniej 2 zrealizowane zam\u00f3wienia.<\/p>\n<h3>\u0106wiczenie 8<\/h3>\n<p>Dla ka\u017cdego klienta oblicz \u0142\u0105czn\u0105 warto\u015b\u0107 jego zrealizowanych zam\u00f3wie\u0144. Wy\u015bwietl identyfikator klienta i sum\u0119 warto\u015bci zam\u00f3wie\u0144. Poka\u017c tylko tych klient\u00f3w, kt\u00f3rych \u0142\u0105czna warto\u015b\u0107 zakup\u00f3w przekroczy\u0142a 5000 z\u0142. Wyniki posortuj malej\u0105co wed\u0142ug sumy warto\u015bci.<\/p>\n<h3>\u0106wiczenie 9<\/h3>\n<p>Dla ka\u017cdego klienta oblicz \u0142\u0105czn\u0105 warto\u015b\u0107 jego zam\u00f3wie\u0144.<\/p>\n<p>Uwzgl\u0119dnij wy\u0142\u0105cznie zam\u00f3wienia z okresu od 1 stycznia do 31 marca 2026 roku, kt\u00f3rych status to \u201ezrealizowane\u201d lub \u201ewyslane\u201d.<\/p>\n<p>Wy\u015bwietl identyfikator klienta, liczb\u0119 zam\u00f3wie\u0144 oraz \u0142\u0105czn\u0105 warto\u015b\u0107 zam\u00f3wie\u0144. Poka\u017c tylko tych klient\u00f3w, kt\u00f3rzy z\u0142o\u017cyli co najmniej 2 zam\u00f3wienia, a ich \u0142\u0105czna warto\u015b\u0107 przekroczy\u0142a 5000 z\u0142. Wyniki posortuj malej\u0105co wed\u0142ug warto\u015bci zakup\u00f3w.<\/p>\n<h3>\u0106wiczenie 10<\/h3>\n<p>Dla ka\u017cdej kategorii produkt\u00f3w oblicz \u015bredni\u0105 cen\u0119, minimaln\u0105 cen\u0119, maksymaln\u0105 cen\u0119 oraz liczb\u0119 produkt\u00f3w.<\/p>\n<p>Uwzgl\u0119dnij tylko produkty, kt\u00f3rych cena jest wy\u017csza ni\u017c 500 z\u0142, a stan magazynowy jest wi\u0119kszy ni\u017c 0.<\/p>\n<p>Wy\u015bwietl tylko te kategorie, w kt\u00f3rych \u015brednia cena przekracza 1000 z\u0142, a liczba produkt\u00f3w wynosi co najmniej 2. Wyniki posortuj malej\u0105co wed\u0142ug \u015bredniej ceny.<\/p>\n<h3>\u0106wiczenie 11<\/h3>\n<p>Dla ka\u017cdego klienta oblicz liczb\u0119 zam\u00f3wie\u0144, \u015bredni\u0105 warto\u015b\u0107 zam\u00f3wienia oraz \u0142\u0105czn\u0105 warto\u015b\u0107 zam\u00f3wie\u0144.<\/p>\n<p>Uwzgl\u0119dnij tylko zam\u00f3wienia z okresu od 1 kwietnia do 30 wrze\u015bnia 2026 roku, kt\u00f3rych status to \u201ezrealizowane\u201d lub \u201ewyslane\u201d, a warto\u015b\u0107 zam\u00f3wienia jest wi\u0119ksza ni\u017c 2000 z\u0142.<\/p>\n<p>Wy\u015bwietl tylko tych klient\u00f3w, kt\u00f3rzy z\u0142o\u017cyli co najmniej 2 takie zam\u00f3wienia, a ich \u015brednia warto\u015b\u0107 zam\u00f3wienia przekracza 3000 z\u0142. Wyniki posortuj malej\u0105co wed\u0142ug \u0142\u0105cznej warto\u015bci zam\u00f3wie\u0144.<\/p>\n<h3>\u0106wiczenie 12<\/h3>\n<p>Przygotuj zestawienie sprzeda\u017cy produkt\u00f3w z podzia\u0142em na kategorie.<\/p>\n<p>Uwzgl\u0119dnij wy\u0142\u0105cznie produkty, kt\u00f3rych cena jest wi\u0119ksza ni\u017c 200 z\u0142 i mniejsza ni\u017c 4000 z\u0142, a stan magazynowy jest wi\u0119kszy ni\u017c 0.<\/p>\n<p>Dla ka\u017cdej kategorii wy\u015bwietl:<\/p>\n<ul>\n<li>\n<p>nazw\u0119 kategorii;<\/p>\n<\/li>\n<li>\n<p>liczb\u0119 r\u00f3\u017cnych produkt\u00f3w;<\/p>\n<\/li>\n<li>\n<p>\u0142\u0105czn\u0105 warto\u015b\u0107 cen produkt\u00f3w;<\/p>\n<\/li>\n<li>\n<p>\u015bredni\u0105 cen\u0119;<\/p>\n<\/li>\n<li>\n<p>najta\u0144szy produkt;<\/p>\n<\/li>\n<li>\n<p>najdro\u017cszy produkt.<\/p>\n<\/li>\n<\/ul>\n<p>Wyniki ogranicz do kategorii, w kt\u00f3rych:<\/p>\n<ul>\n<li>\n<p>liczba produkt\u00f3w wynosi co najmniej 3;<\/p>\n<\/li>\n<li>\n<p>\u015brednia cena przekracza 500 z\u0142;<\/p>\n<\/li>\n<li>\n<p>\u0142\u0105czna warto\u015b\u0107 cen produkt\u00f3w przekracza 3000 z\u0142.<\/p>\n<\/li>\n<\/ul>\n<p>Wyniki posortuj malej\u0105co wed\u0142ug \u0142\u0105cznej warto\u015bci cen produkt\u00f3w.<\/p>\n<h2>5. Zadanie podsumowuj\u0105ce<\/h2>\n<p>Wybierz jedn\u0105 tabel\u0119 z bazy danych i przygotuj w\u0142asne zapytanie SQL, kt\u00f3re b\u0119dzie analizowa\u0142o zawarte w niej informacje.<\/p>\n<p>Zapytanie musi wykorzystywa\u0107:<\/p>\n<ul>\n<li>\n<p>co najmniej trzy warunki w <code>WHERE<\/code>;<\/p>\n<\/li>\n<li>\n<p>operatory logiczne <code>AND<\/code> oraz <code>OR<\/code>;<\/p>\n<\/li>\n<li>\n<p>minimum dwie funkcje agreguj\u0105ce;<\/p>\n<\/li>\n<li>\n<p><code>GROUP BY<\/code>;<\/p>\n<\/li>\n<li>\n<p>co najmniej dwa warunki w <code>HAVING<\/code>;<\/p>\n<\/li>\n<li>\n<p>sortowanie wynik\u00f3w za pomoc\u0105 <code>ORDER BY<\/code>.<\/p>\n<\/li>\n<\/ul>\n<p>Zapytanie nie mo\u017ce wykorzystywa\u0107 instrukcji <code>JOIN<\/code>.<\/p>\n<p>Po wykonaniu zadania kr\u00f3tko opisz, jakie informacje mo\u017cna odczyta\u0107 z otrzymanego wyniku.<\/p>\n<p><a href=\"https:\/\/drive.google.com\/file\/d\/1YWyhp1S-5_t5MEncBltEX1iyrI2ZmY8_\/view?usp=sharing\">https:\/\/drive.google.com\/file\/d\/1YWyhp1S-5_t5MEncBltEX1iyrI2ZmY8_\/view?usp=sharing<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Cel lekcji Ucze\u0144 potrafi: pobiera\u0107 dane z tabel za pomoc\u0105 SELECT; stosowa\u0107 z\u0142o\u017cone warunki filtrowania z wykorzystaniem WHERE; \u0142\u0105czy\u0107 warunki za pomoc\u0105 operator\u00f3w AND, OR i NOT; wykorzystywa\u0107 operatory IN, BETWEEN, LIKE oraz IS NULL; sortowa\u0107 wyniki za pomoc\u0105 ORDER BY; stosowa\u0107 funkcje agreguj\u0105ce COUNT(), SUM(), AVG(), MIN() i MAX(); grupowa\u0107 dane za pomoc\u0105 GROUP [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[63,64,67,68],"tags":[],"class_list":["post-850","post","type-post","status-publish","format-standard","hentry","category-2p","category-3i","category-4i","category-4t"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Powt\u00f3rzenie wiadomo\u015bci \u2013 zapytania SELECT, filtrowanie i grupowanie danych w SQL - Tomasz Sadowski<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zajecia.tsadowski.pl\/index.php\/2026\/09\/30\/powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Powt\u00f3rzenie wiadomo\u015bci \u2013 zapytania SELECT, filtrowanie i grupowanie danych w SQL - Tomasz Sadowski\" \/>\n<meta property=\"og:description\" content=\"Cel lekcji Ucze\u0144 potrafi: pobiera\u0107 dane z tabel za pomoc\u0105 SELECT; stosowa\u0107 z\u0142o\u017cone warunki filtrowania z wykorzystaniem WHERE; \u0142\u0105czy\u0107 warunki za pomoc\u0105 operator\u00f3w AND, OR i NOT; wykorzystywa\u0107 operatory IN, BETWEEN, LIKE oraz IS NULL; sortowa\u0107 wyniki za pomoc\u0105 ORDER BY; stosowa\u0107 funkcje agreguj\u0105ce COUNT(), SUM(), AVG(), MIN() i MAX(); grupowa\u0107 dane za pomoc\u0105 GROUP [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zajecia.tsadowski.pl\/index.php\/2026\/09\/30\/powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql\/\" \/>\n<meta property=\"og:site_name\" content=\"Tomasz Sadowski\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-30T10:59:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-12T12:28:41+00:00\" \/>\n<meta name=\"author\" content=\"tomek\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"tomek\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2026\\\/09\\\/30\\\/powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2026\\\/09\\\/30\\\/powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql\\\/\"},\"author\":{\"name\":\"tomek\",\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/#\\\/schema\\\/person\\\/36b24d512631c581c15631842e605c6c\"},\"headline\":\"Powt\u00f3rzenie wiadomo\u015bci \u2013 zapytania SELECT, filtrowanie i grupowanie danych w SQL\",\"datePublished\":\"2026-09-30T10:59:57+00:00\",\"dateModified\":\"2026-10-12T12:28:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2026\\\/09\\\/30\\\/powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql\\\/\"},\"wordCount\":1346,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/#\\\/schema\\\/person\\\/36b24d512631c581c15631842e605c6c\"},\"articleSection\":[\"2P\",\"3I\",\"4I\",\"4T\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2026\\\/09\\\/30\\\/powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2026\\\/09\\\/30\\\/powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql\\\/\",\"url\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2026\\\/09\\\/30\\\/powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql\\\/\",\"name\":\"Powt\u00f3rzenie wiadomo\u015bci \u2013 zapytania SELECT, filtrowanie i grupowanie danych w SQL - Tomasz Sadowski\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/#website\"},\"datePublished\":\"2026-09-30T10:59:57+00:00\",\"dateModified\":\"2026-10-12T12:28:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2026\\\/09\\\/30\\\/powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2026\\\/09\\\/30\\\/powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/2026\\\/09\\\/30\\\/powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Powt\u00f3rzenie wiadomo\u015bci \u2013 zapytania SELECT, filtrowanie i grupowanie danych w SQL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/#website\",\"url\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/\",\"name\":\"Tomasz Sadowski Zaj\u0119cia\",\"description\":\"Zbi&oacute;r zaj\u0119\u0107 prowadzonych przez Tomasza Sadowskiego\",\"publisher\":{\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/#\\\/schema\\\/person\\\/36b24d512631c581c15631842e605c6c\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/#\\\/schema\\\/person\\\/36b24d512631c581c15631842e605c6c\",\"name\":\"tomek\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g\",\"caption\":\"tomek\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g\"},\"sameAs\":[\"https:\\\/\\\/zajecia.tsadowski.pl\"],\"url\":\"https:\\\/\\\/zajecia.tsadowski.pl\\\/index.php\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Powt\u00f3rzenie wiadomo\u015bci \u2013 zapytania SELECT, filtrowanie i grupowanie danych w SQL - Tomasz Sadowski","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zajecia.tsadowski.pl\/index.php\/2026\/09\/30\/powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql\/","og_locale":"pl_PL","og_type":"article","og_title":"Powt\u00f3rzenie wiadomo\u015bci \u2013 zapytania SELECT, filtrowanie i grupowanie danych w SQL - Tomasz Sadowski","og_description":"Cel lekcji Ucze\u0144 potrafi: pobiera\u0107 dane z tabel za pomoc\u0105 SELECT; stosowa\u0107 z\u0142o\u017cone warunki filtrowania z wykorzystaniem WHERE; \u0142\u0105czy\u0107 warunki za pomoc\u0105 operator\u00f3w AND, OR i NOT; wykorzystywa\u0107 operatory IN, BETWEEN, LIKE oraz IS NULL; sortowa\u0107 wyniki za pomoc\u0105 ORDER BY; stosowa\u0107 funkcje agreguj\u0105ce COUNT(), SUM(), AVG(), MIN() i MAX(); grupowa\u0107 dane za pomoc\u0105 GROUP [&hellip;]","og_url":"https:\/\/zajecia.tsadowski.pl\/index.php\/2026\/09\/30\/powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql\/","og_site_name":"Tomasz Sadowski","article_published_time":"2026-09-30T10:59:57+00:00","article_modified_time":"2026-10-12T12:28:41+00:00","author":"tomek","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"tomek","Szacowany czas czytania":"8 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zajecia.tsadowski.pl\/index.php\/2026\/09\/30\/powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql\/#article","isPartOf":{"@id":"https:\/\/zajecia.tsadowski.pl\/index.php\/2026\/09\/30\/powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql\/"},"author":{"name":"tomek","@id":"https:\/\/zajecia.tsadowski.pl\/#\/schema\/person\/36b24d512631c581c15631842e605c6c"},"headline":"Powt\u00f3rzenie wiadomo\u015bci \u2013 zapytania SELECT, filtrowanie i grupowanie danych w SQL","datePublished":"2026-09-30T10:59:57+00:00","dateModified":"2026-10-12T12:28:41+00:00","mainEntityOfPage":{"@id":"https:\/\/zajecia.tsadowski.pl\/index.php\/2026\/09\/30\/powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql\/"},"wordCount":1346,"commentCount":0,"publisher":{"@id":"https:\/\/zajecia.tsadowski.pl\/#\/schema\/person\/36b24d512631c581c15631842e605c6c"},"articleSection":["2P","3I","4I","4T"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zajecia.tsadowski.pl\/index.php\/2026\/09\/30\/powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zajecia.tsadowski.pl\/index.php\/2026\/09\/30\/powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql\/","url":"https:\/\/zajecia.tsadowski.pl\/index.php\/2026\/09\/30\/powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql\/","name":"Powt\u00f3rzenie wiadomo\u015bci \u2013 zapytania SELECT, filtrowanie i grupowanie danych w SQL - Tomasz Sadowski","isPartOf":{"@id":"https:\/\/zajecia.tsadowski.pl\/#website"},"datePublished":"2026-09-30T10:59:57+00:00","dateModified":"2026-10-12T12:28:41+00:00","breadcrumb":{"@id":"https:\/\/zajecia.tsadowski.pl\/index.php\/2026\/09\/30\/powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zajecia.tsadowski.pl\/index.php\/2026\/09\/30\/powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zajecia.tsadowski.pl\/index.php\/2026\/09\/30\/powtorzenie-wiadomosci-zapytania-select-filtrowanie-i-grupowanie-danych-w-sql\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/zajecia.tsadowski.pl\/"},{"@type":"ListItem","position":2,"name":"Powt\u00f3rzenie wiadomo\u015bci \u2013 zapytania SELECT, filtrowanie i grupowanie danych w SQL"}]},{"@type":"WebSite","@id":"https:\/\/zajecia.tsadowski.pl\/#website","url":"https:\/\/zajecia.tsadowski.pl\/","name":"Tomasz Sadowski Zaj\u0119cia","description":"Zbi&oacute;r zaj\u0119\u0107 prowadzonych przez Tomasza Sadowskiego","publisher":{"@id":"https:\/\/zajecia.tsadowski.pl\/#\/schema\/person\/36b24d512631c581c15631842e605c6c"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zajecia.tsadowski.pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":["Person","Organization"],"@id":"https:\/\/zajecia.tsadowski.pl\/#\/schema\/person\/36b24d512631c581c15631842e605c6c","name":"tomek","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/secure.gravatar.com\/avatar\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g","caption":"tomek"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/b8e0f37f81c0ae3da08d93ced4d5638d67055786edc11d3357adce41e3a18825?s=96&d=mm&r=g"},"sameAs":["https:\/\/zajecia.tsadowski.pl"],"url":"https:\/\/zajecia.tsadowski.pl\/index.php\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/posts\/850","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/comments?post=850"}],"version-history":[{"count":5,"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/posts\/850\/revisions"}],"predecessor-version":[{"id":857,"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/posts\/850\/revisions\/857"}],"wp:attachment":[{"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/media?parent=850"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/categories?post=850"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zajecia.tsadowski.pl\/index.php\/wp-json\/wp\/v2\/tags?post=850"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}