Start > Kursy on-line > MS SQL Server Express

MS SQL Server Express


Polecenie SELECT i pasek edytora SQL

Polecenie SELECT

Polecenie języka SQL typu SELECT służy wybieraniu danych z tabel bazy danych. W najprostszej postaci, która pokazuje po prostu zawartość tabeli, składnia wygląda następująco:

SELECT * FROM sprzedaz


Otwórzmy okno edytora SQL:




A następnie wpiszmy je do niego klikając potem przycisk Execute:



Poniżej okna polecenia pojawiła się tabela z wynikami (zakładka "Results"), oraz komentarzami/informacjami programu o wykonanych poleceniach (zakładka "Messages" - w przypadku, kiedy zapytanie zwróci błąd, zakładka ta będzie widoczna jak pierwsza, i znajdziemy tam wskazówki). Symbol gwiazdki jest równoznaczny z poleceniem wybrania wszystkich pól danej tabeli, podanej komendzie po słowie "FROM". Jeśli chcielibyśmy wybrać pojedyncze pola, zamiast "*" musielibyśmy je zdefiniować w tym samym miejscu, oddzielając przecinkiem:



Zauważmy, że ze względu na fakt, iż zadaliśmy dwa zapytania, w dolnej części pojawiły się dwie tabele z wynikami. W sytuacji kiedy w oknie edytora poleceń SQL mamy więcej niż jedno poleceń, a chcemy w danym momencie uruchomić tylko jedno z nich, powinniśmy je po prostu zaznaczyć:



Jako, że uruchomiliśmy edytora poleceń SQL w kontekście bazy "nowa_baza", polecenia możemy budować wprost używając nazw pól i tabel. Kontekst poleceń (czyli to, z której bazy korzystamy) jest też potwierdzone na pasku, który się pojawił (po lewej od przycisku Execute). Spróbujmy jednak zmienić kontekst (wykorzystywaną bazę) na np. "master" i uruchomić polecenie Execute (musimy mieć odpowiednie uprawnienia, aby to zrobić - ja korzystam z loginu administratora, założonego podczas instalacji):



Otrzymaliśmy błąd, który mówi że nie ma obiektu sprzedaż w tej bazie danych. Jeśli chcielibyśmy jednak wykonać to polecenie mimo zmienionego kontekstu, musielibyśmy podać jawnie lokalizację tabeli sprzedaż:



Gdyby zapytanie było do większej liczby tabel, tak samo musielibyśmy postąpić z nazwami pól, aby baza danych ewidentnie wiedziała o jakie dane nam chodzi:



Pasek edytora SQL

W trakcie otwierania okna edytora poleceń SQL, pojawiał się nam nowy pasek narzędzi: Edytor SQL:



Zanim więc przejdziemy do dalszego omawiania polecenia SELECT, krótko omówimy polecenia zawarte na nim.

Pierwsza sekcja (z ikonami komputerów) służy sterowaniu aktywnymi połączeniami: pierwsza ikona z lewej to łączenie, druga rozłączanie, trzecia natomiast przełączanie. Kolejna sekcja zawiera wybór bazy, do której zadajemy zapytania - jest to rozwijana lista dostępnych dla danego połączenia baz danych.

Przycisk Execute uruchamia polecenie napisane w edytorze. Kolejne dwa czyli "Parse" oraz "Cancel Executing Query":




służą sprawdzaniu poprawności napisanego polecenia, oraz rezygnacji z działania zapytania (np. w sytuacji, kiedy wykonuje się ono zbyt długo, co może świadczyć o stworzeniu zapytania niezoptymalizowanego). Ostatni przycisk w tej sekcji - widoczny po prawej stronie powyższego - umożliwia analizę zapytania, wyświetlając najważniejsze jego parametry w oknie poniżej:



Dalej mamy bardzo ciekawą ikonę:



której użycie uruchamia prostego graficznego kreatora zapytań:



Po jego uruchomieniu możemy kliknąć na określony obiekt (u nas tabelę "produkty") w celu wykorzystania jej w budowanym wyrażeniu. Następnie wybierając określone pola, podajemy opcję sortowania (Sort Type - "Ascending" - czyli rosnąco, "Descending" - czyli malejąco i "Unsorted" - czyli bez sortowania), kolejność sortowania oraz filtry. Oznaczenie w kolumnie Output oznacza, czy dane pole ma być widoczne. W oknie poniżej mamy wówczas budowany tekst polecenia SQL. Całość prezentuje poniższy obraz:



Po zamknięciu kreatora, utworzone polecenie pojawi się w oknie edytora zapytań SQL:



Uruchomienie następuje jak w przypadku każdego innego polecenia - przyciskiem Execute. Ominiemy kolejne parę przycisków, które mają bardziej administracyjne zastosowanie, np. włączenie statystyk "Include Client Statistics" spowoduje dodanie do rezultatów informacji o wykonanym poleceniu:



Przejdziemy od razu do ostatnich dwóch sekcji:



Pierwsza, która została oznaczona powyżej na czerwono, pozwala zdecydować, czy wyniki zapytania mają pojawiać się w pliku tekstowym, w tabeli lub też pliku raportów (domyślnie pojawiają się w tabeli wyświetlanej w oknie poniżej). Ostatnie polecenia dotyczą oznaczania linii (lub odznaczania ich) jako komentarze - takie linie są wówczas pomijane podczas wykonywania poleceń przez program oraz ustawianie wcięcia tekstu w edytorze SQL. Komentarz w edytorze SQL rozpoczyna się znakami "-- - i jest oznaczony kolorem zielonym.