Instrukcja SELECT jest najprostszą a jednocześnie fundamentalną ponieważ jest podstawą niemal wszystkich innych zapytań. Za najlepszą praktykę uważa się pisanie dużymi literami słów zastrzeżony dla SQL ponieważ czyni to całą instrukcję łatwiejszą do przeczytania i zrozumienia.
Jak sugeruje nazwa, SELECT używany jest do wybierania danych z bazy danych. Oto najprostsze zastosowanie:
SELECT * FROM table;
Zapytanie to składa się z dwóch części. Pierwsza część SELECT * określa kolumny, które chcesz wybrać. Gwiazdka oznacza, że chcesz wybrać wszystkie kolumny z tabeli. Druga część FROM table informuje bazę danych o tabeli z której chcesz pobrać dane. Pamietaj, aby zastąpić table nazwą tabeli z bazy danych.
To polecenie przyjmuje również nazwę SELECT gwiazdka. Używanie gwiazdki jest dobrym sposobem na określenie jakie dane znajdują się w tabeli – nie jest zalecane na produkcji. W przypadku takiego polecenia to silnik bazy danych decyduje w jaki sposób zostaną przedstawione dane. Nie mamy żadnego wpływu na kolejność zwracania danych. Po dodaniu nowej kolumny w bazie danych może się okazać, że zmienne przygotowane po stronie kodu nie są już poprawne. Na szczęście mamy rozwiązanie.
Możemy jawnie określić, które kolumny chcemy pobrać:
SELECT column1, column2, column3,…columnN FROM tableTo zapytanie zwróci nam wskazane kolumny ze wskazanej tabeli. Nazwy kolumn oraz nazwa tabeli muszą być zgodne z tymi zdefiniowanymi w bazie danych. Taki sposób wybierania danych może być dla Was nieco żmudny jeżeli mamy dużo danych ale jest to zdecydowanie mniejszy problem na przyszłość a Twój kod będzie dużo czytelniejszy dla innych programistów.
Jeżeli jeszcze nie pobraliście bazy danych AdventureWorks to ostatni moment
W pierwszym przykładzie wykonamy instrukcję SELECT gwiazdka:
SELECT * FROM Production.ProductMożemy zaobserwować szereg kolumn oraz rekordów. Spróbujmy teraz zawęzić poszukiwania ponieważ nie potrzebujemy aż tylu informacji:
SELECT ProductID, Name, ProductNumber FROM Production.ProductOraz wynik tak zmodyfikowanej instrukcji:
Możemy zaobserwować, że zmniejszyła nam się liczba kolumn ale wciąż mamy tak samo dużo rekordów. Jak możecie się domyslać - w kolejnym wpisie poruszymy klauzulę WHERE.