W dzisiejszej lekcji zagłębimy się w podstawy języka SQL, skupiając się na fundamentalnych komendach, które pozwolą nam pobierać dane z baz danych. Nauczymy się efektywnie wykorzystywać komendy `SELECT`, `FROM` i `WHERE` do filtrowania i wyświetlania informacji. Praktyka czyni mistrza, dlatego czeka nas sporo interaktywnych ćwiczeń!
SQL (Structured Query Language) to język służący do komunikacji z bazami danych. Umożliwia on manipulowanie danymi: pobieranie, dodawanie, modyfikowanie i usuwanie. Wyobraź sobie bazę danych jako wielki, uporządkowany katalog, a SQL jako język, którym mówisz do tego katalogu, by znaleźć konkretne informacje. Zanim zaczniemy, warto wspomnieć o popularnych systemach baz danych, takich jak MySQL, PostgreSQL, SQLite. Każdy z nich ma swoje specyfiki, ale podstawy SQL są uniwersalne.
Komenda SELECT
jest kluczowa – to ona mówi nam, jakie dane chcemy pobrać. Po SELECT
podajemy nazwy kolumn, które chcemy zobaczyć. Możemy wybrać pojedynczą kolumnę, kilka kolumn oddzielonych przecinkami, lub wszystkie kolumny używając znaku gwiazdki (*).
Przykład:
Załóżmy, że mamy tabelę Klienci
z kolumnami ID_Klienta
, Imie
, Nazwisko
, Email
.
SELECT Imie, Nazwisko FROM Klienci;
– Wyświetli imiona i nazwiska klientów.SELECT * FROM Klienci;
– Wyświetli wszystkie kolumny i wiersze z tabeli Klienci
.SELECT Email FROM Klienci;
– Wyświetli adresy email klientów.Po SELECT
musimy określić z jakiej tabeli chcemy pobrać dane. Do tego służy klauzula FROM
. Podajemy po niej nazwę tabeli, z której chcemy pobrać informacje. Bez FROM
, SQL nie wie, skąd szukać danych.
Przykład:
SELECT Imie FROM Klienci;
– Wybiera imiona...ale z jakiej tabeli? SELECT Imie FROM Klienci;
– Ta komenda pobiera imiona z tabeli Klienci
. SELECT ID_Zamowienia, Data_Zamowienia FROM Zamowienia;
– Pobiera identyfikatory zamówień i daty z tabeli Zamowienia
.Klauzula WHERE
to potężne narzędzie do filtrowania danych. Pozwala nam wybrać tylko te wiersze, które spełniają określone warunki. Używamy operatorów porównania (np. =
, >
, <
, <>
, czyli 'różne od') oraz operatorów logicznych (np. AND
, OR
, NOT
).
Przykład:
SELECT Imie, Nazwisko FROM Klienci WHERE Miasto = 'Warszawa';
– Wyświetla imiona i nazwiska klientów z Warszawy.SELECT * FROM Produkty WHERE Cena > 100;
– Wyświetla wszystkie informacje o produktach, których cena jest wyższa niż 100 zł.SELECT * FROM Zamowienia WHERE Data_Zamowienia BETWEEN '2023-01-01' AND '2023-01-31';
– Wyświetla zamówienia z stycznia 2023.Explore advanced insights, examples, and bonus exercises to deepen understanding.
Wczoraj opanowaliśmy podstawy SQL, koncentrując się na komendach SELECT
, FROM
i WHERE
. Dziś rozszerzymy naszą wiedzę, zagłębiając się w bardziej zaawansowane niuanse i praktyczne zastosowania tych kluczowych komend. Gotowi na kolejny krok w stronę zostania mistrzem SQL?
Wczoraj skupiliśmy się na prostym filtrowaniu. Dziś przyjrzymy się bardziej złożonym warunkom w klauzuli WHERE
. Pamiętacie o operatorach logicznych? (AND
, OR
, NOT
) Używamy ich do łączenia i negowania warunków.
Przykład: Załóżmy, że mamy tabelę "klienci" z kolumnami "imię", "miasto" i "wiek".
Aby znaleźć klientów z Warszawy, którzy mają ponad 30 lat, użyjemy:
SELECT imię, miasto, wiek FROM klienci WHERE miasto = 'Warszawa' AND wiek > 30;
A co z negacją? Aby znaleźć klientów, którzy nie mieszkają w Krakowie:
SELECT imię, miasto FROM klienci WHERE NOT miasto = 'Kraków';
Dodatkowo, warto znać operator IN
, który pozwala na sprawdzenie, czy wartość znajduje się w zbiorze wartości. To jak skrót dla wielu warunków OR
.
Przykład: Chcemy znaleźć klientów z Warszawy, Krakowa lub Gdańska:
SELECT imię, miasto FROM klienci WHERE miasto IN ('Warszawa', 'Kraków', 'Gdańsk');
Pamiętajmy również o operatorze LIKE
, który pozwala na wyszukiwanie wzorców. Przydatne, gdy nie znamy dokładnie szukanej wartości, ale wiemy, jak się zaczyna, kończy lub zawiera określony fragment.
Przykład: Szukamy klientów, których imię zaczyna się na literę "A":
SELECT imię, miasto FROM klienci WHERE imię LIKE 'A%';
Symbol '%' reprezentuje dowolną liczbę znaków. '_' reprezentuje pojedynczy znak.
Czas na praktykę! Poniżej znajdują się dodatkowe ćwiczenia, aby utrwalić zdobytą wiedzę.
Ćwiczenie 1: Załóżmy, że mamy tabelę "produkty" z kolumnami "nazwa", "kategoria" i "cena". Napisz zapytanie, które wyświetli nazwy produktów z kategorii "Elektronika" kosztujących powyżej 100 złotych.
Podpowiedź: Użyj operatorów AND
i >
.
Ćwiczenie 2: Mamy tabelę "zamówienia" z kolumnami "id_klienta", "data_zamówienia" i "kwota". Napisz zapytanie, które wyświetli id_klienta i datę zamówienia dla zamówień złożonych w roku 2023 (założenie: data_zamówienia ma format YYYY-MM-DD).
Podpowiedź: Wykorzystaj funkcje daty lub operator LIKE
(jeśli nie ma osobnej kolumny z rokiem)
Ćwiczenie 3: Mamy tabelę "pracownicy" z kolumnami "imię", "stanowisko" i "pensja". Napisz zapytanie, które wyświetli imiona pracowników, którzy nie są "Menedżerami" i których pensja jest większa niż 5000 zł. Użyj NOT.
Komendy SELECT
, FROM
i WHERE
to fundament każdego systemu zarządzania bazami danych. Znajdują zastosowanie w:
Wyobraźcie sobie pracę w e-commerce. Potrzebujecie szybko znaleźć wszystkie zamówienia z ostatniego miesiąca, które przekroczyły określoną kwotę. SQL i umiejętność filtrowania danych to Wasz najlepszy przyjaciel!
Spróbujcie wykonać następujące zadanie, aby jeszcze bardziej rozwinąć swoje umiejętności:
Challenge: Stwórzcie prostą bazę danych (np. w SQLite, dostępnym online lub lokalnie na Waszym komputerze) z tabelą "książki" (id, tytuł, autor, cena, kategoria). Wypełnijcie ją kilkoma rekordami. Następnie napiszcie zapytania SQL, które:
Chcecie dowiedzieć się więcej? Oto kilka propozycji:
COUNT
, SUM
, AVG
, MIN
, MAX
.ORDER BY
.JOIN
, LEFT JOIN
, RIGHT JOIN
).Załóżmy, że masz tabelę `Pracownicy` z kolumnami `ID_Pracownika`, `Imie`, `Nazwisko`, `Stanowisko`, `Pensja`. Napisz zapytanie SQL, które wyświetla imiona i nazwiska wszystkich pracowników.
Korzystając z tabeli `Pracownicy` (z poprzedniego ćwiczenia), napisz zapytanie SQL, które wyświetla imiona, nazwiska i stanowiska pracowników, których pensja jest wyższa niż 5000 zł.
Mając tabelę `Zamowienia` (z kolumnami `ID_Zamowienia`, `ID_Klienta`, `Data_Zamowienia`, `Kwota`) napisz zapytanie, które wyświetla wszystkie informacje (wszystkie kolumny) o zamówieniach złożonych w 2022 roku.
Wyobraź sobie, że jesteś analitykiem danych w małym sklepie internetowym. Twoim zadaniem jest wykorzystanie SQL do generowania raportów. Na początek musisz napisać zapytania, aby wyświetlić: 1) listę klientów z Warszawy; 2) wszystkie zamówienia o wartości powyżej 200 zł; 3) imiona i nazwiska klientów, którzy złożyli zamówienia w styczniu.
Przygotuj się na lekcję o bardziej zaawansowanych funkcjach SQL, takich jak `ORDER BY`, `GROUP BY`, i `JOIN`. Spróbuj poćwiczyć więcej zapytań używając `SELECT`, `FROM`, i `WHERE` na przykładowych bazach danych online.
We're automatically tracking your progress. Sign up for free to keep your learning paths forever and unlock advanced features like detailed analytics and personalized recommendations.