niedziela, 2 września 2018

SQL - słowo kluczowe DISTINCT


SQL - słowo kluczowe DISTINCT 

Słowo kluczowe SQL DISTINCT jest używane w połączeniu z instrukcją SELECT, aby wyeliminować wszystkie zduplikowane rekordy i pobrać tylko unikalne rekordy.
Może wystąpić sytuacja, gdy w tabeli znajduje się wiele duplikatów rekordów. Podczas pobierania takich wpisów bardziej sensowne jest pobieranie tylko tych unikatowych rekordów zamiast pobierania duplikatów.
Składnia
Podstawowa składnia słowa kluczowego DISTINCT w celu wyeliminowania duplikatów jest następująca:
SELECT DISTINCT kolumna1, kolumna2,.....kolumnaN
FROM nazwa_tabeli
WHERE [warunek]
Przykład
Rozważ tabelę KLIENCI zawierającą następujące rekordy -
+----+----------+-----+-----------+----------+
id,   nazwisko,   wiek,  adres,        pensja
'1', 'Zawadzki',  '32', 'Warszawska', '2000.00'
'2', 'Kowalczyk', '25', 'Sokratesa',  '1500.00'
'3', 'Kot',       '23', 'Darwina',    '3500.00'
'4', 'Kowalska',  '25', 'Modlińska',  '6500.00'
'5', 'Sapal',     '27', 'Wspólna',    '8500.00'
'6', 'Nowak',     '22', 'Nalewki',    '4500.00'
'7', 'Makowska',  '24', 'Piaseczno',  '10000.00'
+----+----------+-----+-----------+----------+
Po pierwsze, zobaczmy, jak następujące zapytanie SELECT zwraca duplikaty rekordów wynagrodzenia.
SQL> SELECT PENSJA FROM KLIENCI
   ORDER BY PENSJA;
To dałoby następujący wynik, w którym pensja (2000) nadchodzi dwukrotnie, co jest duplikatem z pierwotnej tabeli.
+----------+
 pensja
'1500.00'
'2000.00'
'2000.00'
'4500.00'
'6500.00'
'8500.00'
'10000.00'
+----------+
Teraz pozwól nam użyć słowa kluczowego DISTINCT z powyższym zapytaniem SELECT, a następnie zobacz wynik.
SQL> SELECT DISTINCT PENSJA FROM KLIENCI
   ORDER BY PENSJA;
W ten sposób uzyskamy następujący wynik, jeśli nie będziemy mieli żadnych duplikatów.
+----------+
 pensja
'1500.00'
'2000.00'
'4500.00'
'6500.00'
'8500.00'
'10000.00'
+----------+


Brak komentarzy:

Prześlij komentarz