Strukturalny język zapytań oferuje użytkownikom baz danych potężny i elastyczny mechanizm wyszukiwania danych — instrukcja SELECT. W tym artykule przyjrzymy się ogólnej formie instrukcji SELECT i skomponujemy razem kilka przykładowych zapytań do bazy danych. Jeśli jest to Twoja pierwsza wyprawa w świat Ustrukturyzowanego Języka Zapytań, możesz chcieć przejrzeć Podstawy SQL przed kontynuowaniem. Jeśli chcesz zaprojektować nową bazę danych od podstaw, dowiedz się, jak: tworzyć bazy danych i tabele w SQL powinien okazać się dobrym punktem startowym.
Teraz, gdy już zapoznałeś się z podstawami, zacznijmy eksplorację instrukcji SELECT. Podobnie jak w przypadku poprzednich lekcji SQL, będziemy nadal używać instrukcji zgodnych ze standardem ANSI SQL. Możesz chcieć zapoznać się z dokumentacją swojego DBMS, aby określić, czy obsługuje zaawansowane opcje, które mogą zwiększyć wydajność i/lub skuteczność twojego kodu SQL.

Ogólna forma oświadczenia SELECT
Ogólna forma instrukcji SELECT znajduje się poniżej:
WYBIERZ select_list
Z źródło
GDZIE warunki)
GRUPUJ WEDŁUG wyrażenie
MAJĄCY stan: schorzenie
ZAMÓW PRZEZ wyrażenie
Pierwszy wiersz instrukcji informuje procesor SQL, że to polecenie jest WYBIERZ oświadczenie i że chcemy pobrać informacje z bazy danych. select_list pozwala nam określić rodzaj informacji, które chcemy pobrać. Z klauzula w drugim wierszu określa konkretną tabelę bazy danych, której dotyczy, a GDZIE klauzula daje nam możliwość ograniczenia wyników do tych rekordów, które spełniają określone warunki). Ostatnie trzy klauzule reprezentują zaawansowane funkcje wykraczające poza zakres tego artykułu — omówimy je w przyszłych artykułach dotyczących SQL.
Najłatwiej nauczyć się SQL na przykładzie. Mając to na uwadze, zacznijmy przyglądać się niektórym zapytaniom do bazy danych. W całym artykule wykorzystamy tabelę pracowników z fikcyjnej bazy danych zasobów ludzkich firmy XYZ Corporation, aby zilustrować wszystkie nasze zapytania. Oto cała tabela:
Numer identyfikacyjny pracownika |
Nazwisko |
Imię |
Wynagrodzenie |
Raporty do |
1 |
Kowal |
Jan |
32000 |
2 |
2 |
Scampi |
Pozwać |
45000 |
ZERO |
3 |
Kendall |
Tomek |
29500 |
2 |
4 | Jones | Abraham | 35000 | 2 |
5 | Allen | Rachunek | 17250 | 4 |
6 | Reynoldsa | Allison | 19500 | 4 |
7 | Johnson | Katie | 21000 | 3 |
Pobieranie całego stołu
Dyrektor ds. Zasobów Ludzkich XYZ Corporation otrzymuje comiesięczny raport zawierający informacje o wynagrodzeniu i raportowaniu dla każdego pracownika firmy. Generowanie tego raportu jest przykładem najprostszej formy instrukcji SELECT. Po prostu pobiera wszystkie informacje zawarte w tabeli bazy danych — każdą kolumnę i każdy wiersz. Oto zapytanie, które zrealizuje ten wynik:
WYBIERZ *
OD pracowników.
Całkiem proste, prawda? Gwiazdka (*) pojawiająca się w select_list to symbol wieloznaczny służący do poinformowania bazy danych, że chcemy pobrać informacje ze wszystkich kolumn w tabeli pracownika zidentyfikowanych w klauzuli FROM. Chcieliśmy pobrać wszystkie informacje z bazy danych, więc nie było konieczne użycie klauzuli WHERE do ograniczenia wierszy wybranych z tabeli. Oto jak wyglądają wyniki naszych zapytań:
Numer identyfikacyjny pracownika | Nazwisko | Imię | Wynagrodzenie | Raporty do |
1 | Kowal | Jan | 32000 | 2 |
2 | Scampi | Pozwać | 45000 | ZERO |
3 | Kendall | Tomek | 29500 | 2 |
4 | Jones | Abraham | 35000 | 2 |
5 | Allen | Rachunek | 17250 | 4 |
6 | Reynoldsa | Allison | 19500 | 4 |
7 | Johnson | Katie | 21000 | 3 |