środa, 8 marca 2017

Lekcja 7. Instrukcja SELECT.

Polecenie SELECT służy do pobierania informacji z tabel bazy danych. W najprostszej postaci tej instrukcji należy określić tabelę i kolumny, z których chcemy pobrać dane.

Wykonywanie instrukcji SELECT

Poniższa instrukcja SELECT pobiera kolumny cust_no, customer oraz phone_no z tabeli customer:


Tuż za słowem kluczowym SELECT należy wpisać nazwy kolumn, z których mają być pobrane dane. Za słowem kluczowym FROM należy wpisać nazwę tabeli. Instrukcję SQL trzeba zakończyć średnikiem (;).

Jeżeli chcemy pobrać wszystkie kolumny z tabeli, możemy użyć gwiazdki (*) zamiast listy kolumn. W poniższym przykładzie gwiazdka została użyta do pobrania wszystkich kolumn z tabeli department:


Za pomocą słowa kluczowego FIRST możemy ograniczyć ilość pobieranych rekordów.  W poniższym przykładzie ilość pobranych rekordów z tabeli department została ograniczona do 5:


Wykorzystanie klauzuli WHERE do wskazywania wierszy do pobrania
Klauzula WHERE ogranicza zakres pobieranych wierszy. Klauzulę WHERE umieszczamy za klauzulą FROM:

SELECT lista elementów
FROM lista tabel
WHERE lista warunków;

W poniższym zapytaniu użyto klauzuli WHERE do pobrania z tabeli customer wiersza, w którym kolumna cust_no ma wartość 1002.


Używanie aliasów kolumn
Gdy pobieramy kolumnę z tabeli, w wynikach jako nagłówek kolumny Firebird wpisuje nawę kolumny wielkimi literami. Na przykład gdy pobieramy kolumnę cust_no, nagłówkiem w wynikach jest CUST_NO. Możemy określić własny nagłówek , stosując alias. W poniższym zapytaniu kolumna cust_no otrzymuje alias NUMBER:


Jeżeli chcemy użyć spacji i zachować wielkość liter w aliasie, należy jego tekst umieścić w cudzysłowie:



Przed tekstem aliasu można również umieścić opcjonalne słowo kluczowe AS:



Łączenie wartości z kolumn za pomocą konkatenacji
Za pomocą konkatenacji można łączyć wartości z kolumn pobrane przez zapytanie, co umożliwia uzyskanie bardziej sensownych wyników. Poniższe zapytanie łączy kolumny first_name oraz last_name z tabeli employee za pomocą operatora konkatenacji (||). Nalży zauważyć, że po kolumnie first_name został dodany znak spacji, a dopiero później kolumna last_name:


Wartości kolumn first_name i last_name zostały połączone w wynikach pod aliasem Employee name.

Wartość null
Wartość specjalna – null – oznacza, że wartość dla danej kolumny jest nieznana. Nie jest ona jednak pustym wpisem.
Jeżeli pobieramy kolumnę, która zawiera wartość null, w jej wynikach zobaczymy <null> .


Można również sprawdzić występowanie wartości null, umieszczając w zapytaniu IS NULL. W poniższym przykładzie zostały zwrócone informacje o projekcie Translator upgrade, ponieważ w tym wierszu w kolumnie team_leader występuje null:


Zdarza się, że chcemy wyświetlić inną wartość w miejsce null. Aby to zrobić musimy posłużyć się funkcją COALESCE(). Funkcja COALESCE() przyjmuje dwa lub więcej parametrów i zwraca pierwszą wartość, która okażę się nie być null. W poniższym zapytaniu COALESCE() zwraca wyrażenie  ‘lack’, jeżeli kolumna team_leader zawiera wartość null:



Wyświetlanie unikatowych wierszy
Załóżmy, że chcemy uzyskać listę walut obowiązujących w krajach znajdujący się w tabeli country. Możemy to zrobić za pomocą poniższego zapytania, które pobiera kolumnę currency z tabeli country:


Jak widzimy w wynikach zwróconych przez zapytanie, niektóre waluty obowiązują w więcej niż jednym kraju i w związku z tym się powtarzają. Można usunąć powtarzające wiersze za pomocą słowa kluczowego DISTINCT. W poniższym zapytaniu użyto go, aby pominąć powtarzające się wiersze:


Na tej liście łatwiej zauważyć, że wszystkich walut jest 11; powtarzające się wiersze zostały pominięte.



Brak komentarzy:

Prześlij komentarz