Język SQL, historia, podstawowe operatory. Podstawowe instrukcje SQL. Składnia i przykłady użycia instrukcji SELECT Opis i przykłady instrukcji SQL

Krótki opis operatorów SQL

Praca z instrukcjami SQL

Wybór danych

Wybieranie danych to najczęstsza operacja wykonywana za pomocą SQL. Instrukcja SELECT jest jedną z najważniejszych instrukcji w tym języku służącym do wybierania danych. Składnia tego operatora jest następująca:

SELECT lista-kolumn FROM lista-tabeli

Instrukcje SELECT muszą zawierać słowa SELECT i FROM; inne słowa kluczowe, takie jak WHERE lub ORDER BY, są opcjonalne.

Po słowie kluczowym SELECT następuje informacja o tym, które pola należy uwzględnić w wynikowym zbiorze danych. Gwiazdka (*) oznacza wszystkie pola w tabeli, na przykład:

Aby wybrać pojedynczą kolumnę, używana jest następująca składnia:

SELECT CompanyName Przykład wyboru wielu kolumn wygląda tak:

SELECT NazwaFirmy, Nazwa Kontaktu, Tytuł Kontaktu

Jeżeli dane wybierane są z kilku tabel i jednocześnie pola o tej samej nazwie wybierane są z różnych tabel, należy odwołać się do nazw tabel, aby w pełni zidentyfikować pola zawarte w wynikowym zbiorze danych, na przykład:

SELECT Klienci.NazwaFirmy, Nadawcy.NazwaFirmy

OfertaOD

Słowo kluczowe FROM służy do określenia nazw tabel, z których należy wybrać rekordy, na przykład:

WYBIERZ * OD Klientów

To zapytanie zwróci wszystkie pola z tabeli Klienci.

Jeśli w zestawie wyników potrzebne są tylko pola CompanyName i ContactName, możemy wprowadzić następującą klauzulę SELECT:

SELECT NazwaFirmy, Nazwa Kontaktu FROM Klienci

Przykładowe zapytanie dotyczące więcej niż jednej tabeli pokazano poniżej:

SELECT Klienci.NazwaFirmy, Nadawcy.NazwaFirmy FROM Klienci, Nadawcy

klauzula GDZIE

Aby filtrować wyniki zwracane przez instrukcję SELECT, możesz użyć klauzuli WHERE, której składnia jest następująca:

GDZIE wyrażenie1 [(AND | OR) wyrażenie2 […]]

Na przykład, zamiast uzyskać pełną listę produktów, możesz ograniczyć się tylko do tych produktów, które mają wartość pola CategoryID wynoszącą 4:

WYBIERZ * Z PRODUKTÓW GDZIE IDKategorii = 4

W klauzuli WHERE możesz używać różnych wyrażeń, na przykład:

SELECT * FROM Products WHERE IDKategorii = 2 ORAZ IDDostawcy > 10

SELECT NazwaProduktu, CenaJednostkowa FROM Produkty WHERE IDKategorii = 3 OR CenaJednostkowa< 50

SELECT ProductName, UnitPrice FROM Products GDZIE wycofanie NIE JEST NULL

Wyrażenie „IS NOT NULL” oznacza, że ​​odpowiednia kolumna wynikowego zestawu danych nie może zawierać wartości null. Możesz użyć jednego z sześciu operatorów relacyjnych zdefiniowanych w SQL w klauzuli WHERE. Operatory te podano w tabeli. jeden.

Tabela 1 Opis operatora

< Меньше

<= Меньше или равно

<>Nie równe

> Więcej

>= Większe lub równe

Oprócz prostych operatorów porównania wymienionych powyżej można również użyć specjalnych operatorów porównania przedstawionych w tabeli. 2.

Tabela 2 Opis operatora

ALL Używane w połączeniu z operatorami porównania podczas porównywania z listą wartości

ANY Używane w połączeniu z operatorami porównania podczas porównywania z listą wartości

BETWEEN Używane podczas sprawdzania, czy wartość mieści się w zadanym przedziale (włącznie z jego granicami)

In Używany do sprawdzania, czy wartość znajduje się na liście.

LIKE Stosowane podczas sprawdzania, czy wartość pasuje do danej maski

Podajemy kilka przykładów użycia tych operatorów. Słowo kluczowe LIKE służy do dopasowania danych do maski:

SELECT NazwaFirmy, Nazwa Kontaktu FROM Klienci WHERE NazwaFirmy LIKE 'M%'

W tej masce znak '%' (procent) zastępuje dowolny ciąg znaków, a znak '_' (podkreślenie) - dowolny pojedynczy znak. Ten sam wynik można uzyskać w następujący sposób:

SELECT NazwaFirmy, Nazwa Kontaktu FROM Klienci WHERE NazwaFirmy POMIĘDZY 'M' I 'N'

W ostatnim przykładzie możemy rozszerzyć zakres wyszukiwania. W szczególności podczas wyszukiwania firm o nazwach rozpoczynających się od liter A do C można wydać następującą instrukcję SELECT:

SELECT NazwaFirmy, Nazwa Kontaktu FROM Klienci WHERE NazwaFirmy POMIĘDZY „A” I „D”

Używając operatora LIKE, możemy zawęzić wyszukiwanie, stosując bardziej złożoną maskę porównania. Na przykład, aby znaleźć firmy, które zawierają w nazwie podciąg bl, możesz użyć następującego zapytania:

SELECT NazwaFirmy, Nazwa Kontaktu FROM Klienci WHERE NazwaFirmy LIKE '%bl%'

Maska „%bl%” pokazuje, że przed i po wyszukiwanym podciągu może znajdować się dowolna liczba dowolnych znaków.

Za pomocą operatora IN możesz określić listę wartości, która powinna zawierać wartość pola:

SELECT CompanyName, ContactName FROM Customers WHERE CustomerID IN („ALFKI”, „BERGS”, „VINET”)

Operatory i, lub, i nie

Widzieliśmy już przykład użycia operatora AND do operacji logicznych, które wymagają rekordu spełniającego dwa różne kryteria. Rozważ następujące zapytanie:

SELECT NazwaFirmy, Nazwa Kontaktu FROM Klienci WHERE NazwaFirmy LIKE 'S%' AND Kraj = 'USA'

Wynikiem tego zapytania będzie lista klientów znajdujących się w Stanach Zjednoczonych, których nazwa zaczyna się na literę S.

Operator OR pozwala wybrać rekordy, które spełniają co najmniej jeden z wymienionych warunków, podczas gdy operator NOT służy do wykluczania z zestawu danych rekordów spełniających dany warunek. Na przykład możesz użyć operatora OR, aby wyszukać wszystkich klientów, którzy znajdują się w Kalifornii lub mają nazwę zaczynającą się na literę S (i znajdują się w dowolnym miejscu):

SELECT CompanyName, ContactName FROM Customers WHERE CompanyName LIKE „S%” OR Region=”CA”

W takim przypadku wynikowy zestaw danych będzie zawierał rekordy, w których wartość pola NazwaFirmy spełnia pierwszy warunek, oraz wszystkie rekordy, w których wartość pola Region spełnia drugi warunek.

Spójrzmy teraz na przykład użycia operatora NOT. Aby wykluczyć niektórych klientów z wynikowego zestawu danych, możesz użyć zapytania takiego jak:

SELECT CompanyName, ContactName FROM Customers WHERE Kraj NOT IN („USA”, „UK”)

W wyniku tego zapytania otrzymamy listę klientów ze wszystkich krajów z wyjątkiem USA i Wielkiej Brytanii.

kolejność po klauzuli

Klauzula ORDER BY (opcjonalna) służy do sortowania zestawu wyników według jednej lub więcej kolumn. Słowa kluczowe ASC (rosnąco) lub DESC (malejąco) służą do określenia porządku sortowania. Domyślnie dane są sortowane w porządku rosnącym. Składnia klauzuli ORDER BY to:

ORDER BY kolumna 1 [(ASC | DESC)] [, kolumna 2 [(ASC | DESC)] [,…]

Na przykład, aby posortować pracowników według nazwiska, a następnie według imienia, użyj następującego zapytania SQL:

SELECT Nazwisko, Imię, Tytuł FROM Pracownicy ORDER BY Nazwisko, Imię

Jeśli wymagane jest sortowanie danych w kolejności malejącej (na przykład wymagana jest lista produktów w kolejności malejącej cen), używane jest słowo kluczowe DESC:

SELECT NazwaProduktu, CenaJednostkowa FROM Produkty ORDER BY CenaJednostkowa DESC

SQL (interaktywny).

12.1. Zrozumienie podstawowych operatorów SQL

Jak już wspomniano w "Oprogramowaniu do pracy z nowoczesnymi bazami danych", wszystkie instrukcje SQL są podzielone na trzy komponenty: DDL - język definicji danych, DCL - język zarządzania danymi, DML - język przetwarzania danych.

Podajmy przykłady głównych operatorów z powyższych części (bez opisu składni). Opis składni instrukcji SQL można znaleźć w wielu książkach o języku SQL, w menu „Pomoc” danego DBMS.

Operatory ograniczające dostęp użytkowników do obiektów bazy danych (DCL).

GRANT — tworzy wpis zabezpieczeń, który umożliwia użytkownikowi pracę z danymi lub wykonywanie określonych operacji SQL.

DENY — tworzy wpis w systemie bezpieczeństwa, który odmawia dostępu do określonego konta.

Oświadczenia dotyczące definicji danych (DDL).

Odpowiednie operatory służą do tworzenia, usuwania, zmiany głównych obiektów relacyjnego modelu danych DBMS: tabel, widoków, indeksów.

UTWÓRZ TABELĘ<имя>- utworzenie nowej tabeli w bazie danych.

UPUŚĆ TABELĘ<имя> - usuwanie tabeli z bazy danych.

ZMIEŃ TABELĘ<имя>- zmiana struktury istniejącej tabeli lub ograniczeń integralności ustawionych dla tej tabeli.

Podczas wykonywania podobnych operacji z widokami lub indeksami, w określonych instrukcjach zamiast słowa serwisowego TABLE zapisywane jest słowo VIEW ( widok ) lub słowo INDEX ( indeks )

Instrukcje manipulacji danymi (język DML).

Instrukcje DML działają na bazie danych i służą do modyfikowania danych i pobierania wymaganych informacji.

SELECT - wybór wierszy spełniających podane warunki. Operator realizuje w szczególności m.in operacje algebry relacyjnej jak „wybór” i „rzut”.

AKTUALIZACJA - zmiana wartości określonych pól w wierszach tabeli spełniających określone warunki.

INSERT - wstawia nowe wiersze do tabeli.

DELETE — usuń wiersze tabeli spełniające określone warunki. Użycie tego operatora uwzględnia zasady zachowania integralności, dlatego nie zawsze może być wykonane poprawnie.

12.2 Interaktywny tryb SQL (interaktywny SQL)

Odpowiedni tryb zapewnia bezpośrednią pracę użytkownika z bazą danych według następującego algorytmu: przy użyciu programu użytkowego (aplikacji klienckiej) lub standardowego narzędzia zawartego w DBMS użytkownik:

  • nawiązuje połączenie z bazą danych (potwierdzenie dostępności praw dostępu);
  • wprowadza odpowiednią instrukcję SQL, jeśli to konieczne, wprowadza dodatkowe informacje w trybie dialogowym;
  • inicjuje wykonanie polecenia.

Tekst żądania jest wysyłany do

SQL (Structured Query Language - „strukturyzowany język zapytań”) to uniwersalny język komputerowy używany do tworzenia, modyfikowania i zarządzania danymi w relacyjnych bazach danych. Język SQL oparty jest na algebrze relacyjnej i jest zbiorem operatorów.

Istnieją 4 grupy operatorów. Rozważmy grupę operatorów manipulacji danymi (Data Manipulation Language, DML, SQL DML)

Wybór danych

Wybieranie danych to najczęstsza operacja wykonywana za pomocą SQL. Instrukcja SELECT jest jedną z najważniejszych instrukcji w tym języku służącym do wybierania danych. Składnia tego operatora jest następująca:

WYBIERZ kolumnę Z tabeli

Instrukcje SELECT muszą zawierać słowa SELECT i FROM; inne słowa kluczowe są opcjonalne.

Po słowie kluczowym SELECT następuje informacja o tym, które pola należy uwzględnić w wynikowym zbiorze danych. Gwiazdka (*) oznacza wszystkie pola w tabeli, na przykład:

Aby wybrać pojedynczą kolumnę, używana jest następująca składnia:

WYBIERZ firmę

Przykład wyboru wielu kolumn wygląda tak:

WYBIERZ Firma, Telefon, Poczta

Słowo kluczowe FROM służy do określenia nazw tabel, z których należy wybrać rekordy, na przykład:

WYBIERZ * OD Klientów

To zapytanie zwróci wszystkie pola z tabeli Klienci.

Możesz użyć klauzuli WHERE (opcjonalnie) do filtrowania wyników zwracanych przez instrukcję SELECT

WYBIERZ * Z PRODUKTÓW GDZIE Kategoria = 4

Możesz użyć różnych wyrażeń w klauzuli WHERE,

WHERE wyrażenie1 [(AND | OR) wyrażenie2 ...]

Na przykład:

SELECT * FROM Produkty WHERE Kategoria = 2 ORAZ Postavshik > 10

SELECT Nazwa, Cena FROM Produkty WHERE Kategoria= 3 LUB Cena< 50

Możesz użyć następujących operatorów:

< Меньше

<= Меньше или равно

<>Nie równe

> Więcej

>= Większe lub równe

Klauzula ORDER BY (opcjonalna) służy do sortowania zestawu wyników według jednej lub więcej kolumn. Słowa kluczowe ASC (rosnąco) lub DESC (malejąco) służą do określenia porządku sortowania. Domyślnie dane są sortowane w porządku rosnącym.

Modyfikacja danych

Oprócz pobierania danych SQL może służyć do aktualizowania i usuwania danych, kopiowania rekordów do innych tabel i wykonywania innych operacji. Poniżej przyjrzymy się instrukcjom UPDATE, DELETE i INSERT używanym do wykonania niektórych z tych zadań.

Oświadczenie UPDATE

Instrukcja UPDATE służy do zmiany wartości w jednej lub kilku kolumnach tabeli. Składnia tego operatora to:

UPDATE tabela SET kolumna1 = wyrażenie1 WHERE kryteria

Wyrażenie w klauzuli SET może być stałą lub wynikiem obliczenia. Na przykład, aby zwiększyć cenę wszystkich produktów, które kosztują mniej niż 10 USD, możesz uruchomić następujące zapytanie:

AKTUALIZUJ Produkty ZESTAW Cena = Cena * 1.1 GDZIE Cena< 10

USUŃ wyciąg

Aby usunąć wiersze z tabel, użyj instrukcji DELETE, której składnia to:

USUŃ Z tabeli WHERE kryteria

Usuń wszystkie produkty, których wartość jest mniejsza niż 100.

Lekcja będzie dotyczyć języka zapytań: instrukcja SELECT sql - aby wybrać dane

Wybierz zapytanie SQL jest przeznaczony do normalnego wyboru z bazy danych. Tych. jeśli potrzebujemy tylko uzyskać dane bez wykonywania z nimi jakiegokolwiek przetwarzania i bez wprowadzania zmian w bazie danych, możemy bezpiecznie korzystać z tego zapmagaros.

Składnia instrukcji SELECT

WYBIERZ * FROM nazwa_tabeli;

Jest to najłatwiejszy sposób pracy z operatorem, gdy wybieramy wszystkie rekordy z tabeli bazy danych.

Symbol * oznacza pobieranie wszystkich rekordów z tabeli. W takim przypadku kolumny i wiersze zestawu wyników nie są uporządkowane.

Rozważ przykłady zapytań wybierających sql:

Przykład : jeśli utworzyłeś lokalną bazę danych i wypełniłeś tabele, jak wspomniano wcześniej (lub korzystałeś z usługi sqlFiddle), to wykonamy następujący przykład.
Wybierz wszystkie rekordy z tabeli nauczycieli

WYBIERZ * Z nazwa_tabeli LIMIT 2,3;

W tym przykładzie z tabeli wybierane są 3 rekordy, zaczynając od 2 rekordów.
To zapytanie jest szczególnie potrzebne podczas tworzenia bloku stron nawigacyjnych.

W celu uporządkuj pola zbioru wyników, należy je wymienić oddzielone przecinkami we właściwej kolejności po słowie SELECT:

SELECT imię, zarplata, premia OD nauczycieli ORDER BY name;

Wybiera wartości pola name , zarplata , premia i sortuje według nazwy pola (w porządku alfabetycznym)


Przykład: DB "Sklep komputerowy". Wybierz informacje o szybkości i pamięci komputerów. Chcesz posortować zestaw wyników według szybkości procesora w kolejności rosnącej.

WYBIERZ `Prędkość`,`Pamięć` Z `PC` ZAMÓW PRZEZ 1 ASC

Wynik:

Możesz sortować według dwóch pól:

SELECT imię, zarplata, premia OD nauczycieli ORDER BY imię DESC;

Wybiera wartości pola name , zarplata , premia i sortuje według nazwy pola w kolejności malejącej


Usuwanie zduplikowanych wartości w SQL

W przypadku, gdy potrzebujesz uzyskać unikalne wiersze, możesz użyć słowa kluczowego DISTINCT.

ODRĘBNY(przetłumaczone z angielskiego DIFFERENCE) - argument, który eliminuje podwójne wartości:

Przykład bazy danych „Instytut”: chcesz poznać możliwe opcje wysokości składek. Jeśli nie użyjesz Distinct , wynikiem będą dwie identyczne wartości. Możesz usunąć zduplikowane wartości w sql dzięki wprowadzeniu Distinct - w rezultacie zduplikowane wartości nie są powtarzane.

    WYBIERZ prędkość, pamięć z komputera;

    Wynik:

    W tabeli PC pole kodu jest kluczem podstawowym. Ponieważ to pole nie występuje w zapytaniu, w powyższym zestawie wyników znajdują się zduplikowane wiersze.

    Kiedy potrzebujesz uzyskać unikalne ciągi (na przykład interesują nas tylko różne kombinacje szybkości procesora i rozmiaru pamięci, a nie cechy wszystkich dostępnych komputerów), musisz użyć Distinct:

    WYBIERZ DISTINCT Szybkość, pamięć z komputera;

    WYBIERZ DISTINCT Szybkość, pamięć z komputera;

    Wynik:

    sql wybierz 1_1 zadanie. DB "Instytut" Wykonaj zapytanie, aby pobrać identyfikator i nazwę z tabeli nauczyciele. Sortuj nazwiska nauczycieli w kolejności malejącej

    język sql: gdzie warunek

    Warunek spełnia zdanie
    GDZIE
    który jest napisany po klauzuli FROM.

    W takim przypadku tylko te rekordy, dla których wartość predykatu jest równa TRUE (prawda) zostaną umieszczone w zestawie wyników.

    Przykład bazy danych „Instytut”: Wyświetl dane nauczyciela z tabeli nauczycieli, którego nazwisko to Iwanow

    Wiele warunków w SQL

    Predykaty (warunki) mogą składać się z pojedynczego wyrażenia lub dowolnej kombinacji wyrażeń zbudowanych za pomocą operatorów logicznych:

  1. ORAZ ,
  2. albo nie
  3. Przykład bazy danych „Instytut”: wyświetlić kod nauczyciela, którego wynagrodzenie wynosi 10000 , a premia 500

    Operatory relacyjne napotkane w warunkach:
    = Równe
    > więcej niż
    >= Większe lub równe
    Nie równe

    Pomiędzy w SQL (pomiędzy)

    Predykat BETWEEN sprawdza, czy wartości testowanego wyrażenia mieszczą się w zakresie określonym przez wyrażenia brzegowe połączone słowem kluczowym AND.

    Składnia:

    <Проверяемое выражение>POMIĘDZY<Начальное выражение>ORAZ<Конечное выражение>

    Przykład bazy danych „Instytut”: Wydrukuj nazwisko i pensję nauczyciela, którego wynagrodzenie wynosi od 5000 do 10000.

    Przykład bazy danych „Instytut”: Wyświetlaj nazwisko i pensję nauczyciela, którego pensja nie mieści się w przedziale od 5000 do 10000.

    W predykat

    Predykat IN określa, czy wartość testowanego wyrażenia zostanie znaleziona w jawnie zdefiniowanym zestawie wartości.

    Składnia:

    < Проверяемое выражение>[NIE W(< набор значений> )

    <Проверяемое выражение>W(<набор значений>)

    Przykład bazy danych „Instytut”: wyświetlaj nazwiska nauczycieli, których wynagrodzenie wynosi 5000 , 10000 lub 11000

    Przykład bazy danych „Instytut”: wyświetlaj nazwiska nauczycieli, których wynagrodzenie nie znajduje się wśród wartości: 5000 , 10000 lub 11000

    sql wybierz zadanie 1_3. DB "Instytut" Podaj nazwisko, wynagrodzenie i premię nauczycieli, których premia wynosi od 2000 do 5000 rubli.

W języku zapytań SQL zajmuje znaczące miejsce SELECT oświadczenie, ponieważ za jego pomocą dokonujemy selekcji w bazie danych. W tym artykule omówimy podstawy tej bardzo ważnej instrukcji SQL.

W Internecie jest wiele różnych artykułów, książek, tutoriali na temat SQL, ale wszystkie są trudne dla osoby, która nigdy nie słyszała o SQL, a może nawet o programowaniu i dlatego wszystkie te źródła są dla niego trudne do studiowania. Tutaj staram się wyjaśnić podstawy pojedynczego operatora, nie wchodząc zbyt głęboko ( to właśnie utrudnia naukę, że od razu przechodzą od podstaw do złożonych zapytań), więc najpierw musisz nauczyć się podstaw, a następnie przejść do bardziej skomplikowanych, co ułatwia naukę języka SQL. Ten artykuł jest świetny dla początkujących, którzy chcą nauczyć się pisać proste zapytania SQL w celu pobierania danych.

Czym jest język SQL i instrukcja SELECT

SQL to język zapytań używany do manipulowania (zarządzania) danymi w relacyjnych bazach danych. Ma dużą popularność i dlatego każdy szanujący się IT-k powinien znać podstawy tego języka, ponieważ prawie każda firma posiada bazy danych.

WYBIERZ– operator języka SQL, należy do grupy operatorów manipulacji danymi ( Język manipulacji danymi, DML) i służy do pobierania danych z bazy danych.

Notatka! Aby nauczyć się języka SQL i baz danych, istnieją specjalne bezpłatne edycje dużych DBMS, na przykład SQL Server firmy Microsoft ma edycję Express. Jak zainstalować ten DBMS można przeczytać w materiale - Opis instalacji Microsoft SQL Server 2016 Express.

Oto najprostszy przykład użycia instrukcji SELECT.

WYBIERZ * Z tabeli

  • * - pokaż wszystkie dane;
  • OD - ze źródła;
  • Tabela - nazwa źródła ( w naszym przypadku stół).

Ale w praktyce często nie potrzebujemy wszystkich danych z tabeli, a czasami tylko niektórych kolumn, w tym celu po prostu określamy nazwę żądanej kolumny zamiast * ( lub głośniki), Na przykład:

WYBIERZ CENĘ Z TABELI

gdzie Cena to nazwa kolumny.

Notatka! Jako przykład posłuży nam prosta tabela zawierająca modele komputerów, ich cenę i nazwę.

Jeśli chcesz określić wiele kolumn, po prostu wymień je oddzielone przecinkami po instrukcji SELECT, na przykład

WYBIERZ cenę, nazwę, model Z tabeli

gdzie, cena, nazwa, model to kolumny z tabeli Tabela.

Warunek wyboru - klauzula WHERE

W procesie próbkowania dość często musimy filtrować dane według określonego warunku, tj. nie wszystkie dane, ale tylko te, które spełniają warunek, w konstrukcji SELECT można do tego użyć operatora GDZIE.

WYBIERZ cenę FROM Tabela WHERE cena > 100

gdzie, GDZIE jest warunek, czyli wyświetlamy tylko te wiersze, które pasują do naszego warunku ( cena powyżej 100).

Operatory porównania w SQL

  • ">" - bardziej niż cokolwiek;
  • «<» – меньше чего-нибудь;
  • "=" - równy;
  • «<>" - nie równe;
  • ">=" - większe lub równe;
  • «<=» – меньше или равно.

Możesz również podać słowo kluczowe w warunku POMIĘDZY, tj. wartość spada lub nie mieści się w określonym przedziale, na przykład

WYBIERZ cenę Z tabeli GDZIE cena POMIĘDZY 400 A 600

gdzie określamy, że cena powinna wynosić od 400 do 600.

Aby sprawdzić, czy wartość testowanego wyrażenia należy do określonego zestawu wartości, możesz użyć predykatu W.

WYBIERZ cenę Z tabeli WHERE cena IN (400, 600)

W tym przypadku zależy nam tylko na cenie o koszcie 400 i 600.

Jeśli potrzebujemy uzyskać tylko unikalne wiersze źródła, możemy podać słowo kluczowe ODRĘBNY, Na przykład

SELECT DISTINCT cena FROM Tabela WHERE cena > 100

Notatka! Język SQL nie rozróżnia wielkości liter, zapytania można pisać w jednej linii lub dzielić na kilka. Na przykład następujące dwa zapytania są dokładnie takie same.

WYBIERZ cenę Z tabeli

wybierz cenę z tabeli

Sortowanie ZAMÓW WG

Bardzo często konieczne jest posortowanie wyniku zapytania po określonym polu ( kolumna). Aby to zrobić, po zapytaniu określ konstrukcję ZAMÓW PRZEZ i te pola ( kilka można oddzielić przecinkami), aby posortować według.

WYBIERZ cenę Z tabeli ZAMÓW WEDŁUG ceny DESC

To jest przykład sortowania w porządku malejącym, ale można też sortować w porządku rosnącym, zamiast DESC piszemy ASC, ale zwykle nie piszemy w ten sposób, ponieważ sortowanie rosnąco jest domyślne.

Funkcje agregujące w SQL

W SQL są bardzo przydatne tak zwane funkcje agregujące, a mianowicie:

  • LICZYĆ— liczba wartości w określonej kolumnie;
  • SUMA to suma wartości w określonej kolumnie;
  • AVG- średnia wartość w określonej kolumnie;
  • MIN— minimalna wartość w określonej kolumnie;
  • MAX— maksymalna wartość w określonej kolumnie.

Na przykład musimy uzyskać średnią cenę komputera, maksymalną i minimalną, w tym celu możemy napisać następujące zapytanie

SELECT AVG(cena), MAX(cena), MIN(cena) FROM tabeli

GRUPUJ WEDŁUG

Możesz grupować wartości według kolumn, na przykład musimy znaleźć średnią cenę dla każdego modelu komputera, w tym przypadku zapytanie będzie wyglądało tak

WYBIERZ model, AVG (cena) AS AVGPcena Z tabeli GROUP BY model

Jeśli zauważysz, użyłem przypisania tutaj ” Alias» dla wygodniejszej percepcji wyników tego zapytania, tj. po kolumnie wpisz AS oraz nazwę, która ma być wyświetlana w wynikach.

Podobnie jak w przypadku używania warunków w poszczególnych kolumnach, możesz również określić warunek dla całej grupy, korzystając z funkcji MAJĄCY. Na przykład musimy określić maksymalną cenę komputera, pogrupowaną według modeli tych komputerów, ale których cena maksymalna jest mniejsza niż 500.

SELECT model, MAX(cena) FROM table GROUP BY model HAVING MAX(cena)< 500

W takim przypadku nasze zapytanie da nam komputery pogrupowane według modeli, których maksymalna cena to mniej niż 500.

Notatka! Możesz przeczytać więcej o grupowaniu w SQL w tym artykule.

Wartość NULL w SQL

W SQL istnieje taka wartość jak NULL. W rzeczywistości NULL to brak wartości ( tych. pusty). Aby wyświetlić wszystkie wiersze zawierające taką wartość ( np. nie przydzieliliśmy jeszcze ceny za jakiś komputer) możemy użyć następującego warunku.

WYBIERZ * Z tabeli GDZIE cena JEST NULL

Co będzie oznaczać wyszukiwanie wszystkich wierszy, które nie zawierają wartości pola ceny.

Uproszczona składnia instrukcji SELECT

WYBIERZ<Список полей>lub * , ...] , ...]

Notatka! Jeśli interesuje Cię język T-SQL, to polecam lekturę mojej książki „The Way of the T-SQL Programmer”, w której szczegółowo, z wieloma przykładami, omawiam podstawy języka Transact-SQL szczególnie dla początkujących.

To wszystko na dzisiaj, omówiliśmy z wami małą część języka SQL, a mianowicie instrukcję SELECT. Powodzenia!