database mysql

Bazy Danych – instrukcja SQL, Klauzule i Operatory

W tym wpisie skupimy się na podstawowych elementach języka SQL, dzięki którym nasze instrukcje będą wykonywały to, czego tak na prawdę chcemy.

Bazując na przykładzie ogólnej formy zapytania SQL, omówimy sobie klauzule SELECT, FROM oraz WHERE

SELECT imie

FROM uczniowie

WHERE nasze-kryteria-dla-instrukcji-select;

Instrukcję SQL można zapisywać tak jak powyżej, można też ją napisać korzystając z jednej linii. Nasza instrukcja zawsze zakończona jest średnikiem.

SELECT imie FROM uczniowie WHERE nasze-kryteria-dla-instrukcji-select;

SELECT, FROM oraz WHERE

Klauzule podstawowe języka Structured Query Language to SELECT, FROM oraz WHERE

SELECT – klauzula ta zwraca nam listę pól, które zawierają wskazane dane – „wybierz coś…”

FROM – odnosi się bezpośrednio do SELECT’a i zwraca nam listę tabel, które zawierają pola wymienione w klauzuli SELECT, „wybierz coś z…”

WHERE –  klauzula WHERE pozwala na definiowanie kryteriów, warunków jakie mają zostać spełnione. Doprecyzowuje nasze zapytanie, zawęża wyniki, poprawia jakość wylistowanych danych do tych dokładniejszych, zamierzonych. W skrócie, WHERE określa nam kryteria pól, jakie musi spełnić dany rekord by go uwzględnić w wynikach naszego zapytania.

ORDER BY – klauzula, dzięki której wynik naszego zapytania będzie w odpowiedni sposób posortowany, dla przykładu ASC – alfabetycznie od A do Z, DESC, od Z do A, możemy też zastosować zapis:

SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko DESC;

co bezpośrednio oznacza – sortuj według rekordu imię od Z do A

Klauzula pozwala na bardzo dużo, możemy wykorzystywać ją dla przykładu do takich zapytań (kilka przykładów):

wybierz wszystko z tabeli Costumers i posortuj wg Country

SELECT * FROM Customers
ORDER BY Country;

wybierz wszystko z tabeli Costumers i posortuj wg Country malejąco

SELECT * FROM Customers
ORDER BY Country DESC;

wybierz wszystko z tabeli Costumers i posortuj wg Country i CustomerName

SELECT * FROM Customers
ORDER BY Country, CustomerName;

wybierz wszystko z tabeli Costumers i posortuj wg Country rosnąco i CostumerName malejąco

SELECT * FROM Customers
ORDER BY Country ASC, CustomerName DESC;

GROUP BY oraz UNION

GROUP BY – klauzula ta pozwala na zwrócenie listy pól, które nie są podsumowane w klauzuli select.

UNION – łączy wyniki zapytań. Nie trzeba tutaj się rozpisywać, najprościej unie można zaprezentować na przykładzie:

SELECT kolumna(y) FROM tabela1
UNION
SELECT kolumna(y) FROM tabela2;

Dla przykładu mamy dwie tabele, w których znajdują się pola Miasto. Jedna tabela dotyczy naszych klientów, kolejna dostawców. Dla przykładu potrzebujemy zestawienia miast, w których znajdują się zarówno nasi klienci jak i dostawcy. W cym celu wykonujemy następującą kwerendę:

SELECT Miasto FROM Klient
UNION
SELECT Miasto FROM Dostawca
ORDER BY Miasto;

 

Operatory SQL’owe

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *