MySQL
Wyszukiwarka
Wprowadzenie do MySQL
Tworzenie i modyfikowanie tabel
- Zapytanie CREATE: Tworzenie tabeli
- Instrukcja ALTER: Modyfikacja tabeli
- Zapytanie DROP: Usuwanie tabeli
Zapytania pobierające dane
- Zapytanie SELECT: Podstawy
- Zapytanie SELECT: Klauzula WHERE
- Zapytanie SELECT: Sortowanie danych (ORDER BY)
- Zapytanie SELECT: Filtrowanie danych (LIKE, IN, BETWEEN)
Zapytania modyfikujące dane
- Zapytanie INSERT: Dodawanie danych
- Zapytanie UPDATE: Aktualizacja danych
- Zapytanie REPLACE: Zastępowanie danych
Zapytania usuwające dane
Złączenia i relacje
- Podstawy złączeń (JOIN): INNER JOIN
- Zewnętrzne złączenia (OUTER JOIN)
- Złączenia CROSS JOIN i SELF JOIN
- Tworzenie relacji między tabelami
Funkcje agregujące i grupowanie
- Funkcje agregujące: COUNT, SUM, AVG
- Grupowanie danych: GROUP BY i HAVING
- Zapytania z funkcjami MAX i MIN
Zarządzanie użytkownikami
- Tworzenie nowego użytkownika
- Przydzielanie uprawnień użytkownikom
- Usuwanie użytkowników i cofanie uprawnień
- Zarządzanie hasłami użytkowników
Zaawansowane funkcje MySQL
- Transakcje w MySQL: BEGIN, COMMIT, ROLLBACK
- Tworzenie widoków (VIEWS)
- Procedury składowane: Tworzenie i wywoływanie
- Funkcje użytkownika (USER FUNCTIONS)
Złączenia CROSS JOIN i SELF JOIN
Zapytania CROSS JOIN oraz SELF JOIN są rzadziej stosowane, ale mają swoje unikalne zastosowanie w bazach danych. Oba złączenia są używane do różnych celów, w zależności od potrzeb analizy danych.
📌 CROSS JOIN – Złączenie kartezjańskie
✅ Podstawowa składnia CROSS JOIN:
- Złączenie CROSS JOIN zwraca iloczyn kartezjański dwóch tabel. Oznacza to, że dla każdego rekordu w pierwszej tabeli, zostaną zwrócone wszystkie rekordy z drugiej tabeli.
- Zapytanie nie wymaga klauzuli ON, ponieważ nie ma warunku złączenia. Zawiera on wszystkie możliwe kombinacje rekordów z obu tabel.
Przykład
-- Podstawowa Składnia
SELECT kolumny
FROM tabela1
CROSS JOIN tabela2;
-- Przykład
SELECT produkty.nazwa, kategorie.nazwa
FROM produkty
CROSS JOIN kategorie;
📌 SELF JOIN – Złączenie samej tabeli
✅ Podstawowa składnia SELF JOIN:
- SELF JOIN jest używane do łączenia tabeli z samą sobą. W praktyce, musimy używać aliasów, aby rozróżnić dwie wersje tej samej tabeli.
- Złączenie to jest użyteczne w przypadku, gdy mamy dane w jednej tabeli, które są ze sobą powiązane, na przykład w hierarchicznych danych, takich jak pracownicy i ich menedżerowie.
Przykład
-- Podstawowa składnia SELF JOIN
SELECT t1.kolumna1, t2.kolumna2
FROM tabela AS t1
JOIN tabela AS t2
ON t1.kolumna = t2.kolumna;
-- Przykład
SELECT p1.imie AS pracownik, p2.imie AS menedzer
FROM pracownicy AS p1
JOIN pracownicy AS p2
ON p1.menedzer_id = p2.id;
Zastosowanie CROSS JOIN i SELF JOIN
✅ CROSS JOIN:
- Złączenie kartezjańskie CROSS JOIN jest użyteczne, gdy chcemy wygenerować wszystkie możliwe kombinacje rekordów z dwóch tabel. Może być przydatne w przypadkach takich jak tworzenie tabeli cenników, gdzie każda kombinacja produktów i ich cech ma być uwzględniona.
✅ SELF JOIN:
- Złączenie SELF JOIN jest użyteczne w sytuacjach, gdy tabela zawiera dane, które są powiązane z innymi rekordami tej samej tabeli. Może być wykorzystywane do zarządzania hierarchią danych, np. w przypadku pracowników i menedżerów w firmie, lub powiązanych rekordów, takich jak produkty w kategorii.
Podsumowanie
- CROSS JOIN zwraca iloczyn kartezjański dwóch tabel, łącząc każdy rekord z pierwszej tabeli z każdym rekordem z drugiej tabeli.
- SELF JOIN pozwala na łączenie tabeli z samą sobą, używając aliasów, co jest przydatne w przypadku relacji hierarchicznych (np. pracownicy i ich menedżerowie).
- CROSS JOIN nie wymaga warunku złączenia, natomiast SELF JOIN używa warunku złączenia opisanego w klauzuli ON.
- Oba złączenia są rzadziej używane, ale mają swoje miejsce w bardziej zaawansowanych zapytaniach i specyficznych przypadkach analizy danych.