Bazy danych – ściągawka

Dziś podręczna, graficzna ściągawka obejmująca operacje na zbiorach (union, union all, except, intersect). Definicje podaję ze sporym uproszczeniem, bez zagłębiania się w teorię bazy danych – jest to szybka ściąga przypominająca podstawowe wiadomości. Nie wszystkie z prezentowanych tutaj zapytań mają taką samą składnię w każdej bazie danych. Zależy to od implementacji.

Operacje na zbiorach

Operacje na zbiorach (typu unia, przecięcie, wykluczenie) używane są na dwóch zbiorach zawierających te same kolumny (typ danych, ilość kolumn musi być taka sama). Przykład: różnica dwóch tabel o tych samych kolumnach, lecz różnych danych wewnątrz (pierwsza tabela może zawierać dane nieprzefiltrowane, druga przefiltrowane itd.).

bazy danych - operacje na zbiorach

Zakładając, że:

  • zapytanie nr 1 (Q1) zwraca następujący zestaw danych: A, B, C,
  • zapytanie nr 2 (Q2) zwraca następujący zestaw danych: C, D, E,

z wyników zapytania można złożyć:

Union

Q1 union Q2 – suma zbiorów. Elementy powtarzające się zarówno w Q1 jak i w Q2 zostają usunięte. Wynikiem są elementy: A, B, C, D, E

[A B [C] D E]

Union all

Q1 union all Q2 – pełna suma zbiorów. Powtarzające się elementy nie są usuwane, dzięki czemu działa szybciej niż Union.

[A B C] [C D E]

Except

Q1 except Q2 – różnica zbiorów

[A B] C D E

Intersect

Q1 intersect Q2 – przecięcie, część wspólna zbioru

A B [C] D E

Przykładowa składnia:


SELECT * FROM Q1 UNION SELECT * FROM Q2;

Kolejnym ciekawym zagadnieniem w SQL są złączenia (join). Więcej na ten temat tu: Złączenia w SQL.

Przydatny wpis? Postaw mi kawę :)

1
Dodaj komentarz

avatar
1 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
0 Comment authors
Recent comment authors
  Subscribe  
najnowszy najstarszy oceniany
Powiadom o
trackback

[…] Innym tematem dotyczącym SQL są operacje na zbiorach. Więcej na ten temat tu: Bazy danych -ściągawka. […]