2.1 Wprowadzenie do SQL

Jeśli masz bazę danych (DB), aw niej - tabelę z pewnymi danymi, to najczęstszym zadaniem jest znalezienie określonych danych w tej tabeli. W tym celu 40 lat temu wynaleziono SQL.

SQL oznacza ustrukturyzowany język zapytań .

Najprostsze zapytanie SQL wygląda następująco:

SELECT column1, column2, … columnN FROM table

Załóżmy, że masz tabelę pracowników z listą pracowników Twojego startupu:

ID nazwa zawód wynagrodzenie wiek data_dołączenia
1 Iwanow Iwan Programista 100 000 25 2012-06-30
2 Pietrow Pietr Programista 80 000 23 2013-08-12
3 Iwanow Siergiej Próbnik 40 000 trzydzieści 2014-01-01
4 Rabinowicz Mojsza Dyrektor 200 000 35 2015-05-12
5 Kirienko Anastazja Kierownik biura 40 000 25 2015-10-10
6 Vaska kot 1000 3 2018-01-01

Chcesz napisać zapytanie, które employee namesrównież je wyświetli salaries, to musisz napisać zapytanie:

SELECT name, salary FROM employee

Otrzymasz wynik zapytania:

nazwa wynagrodzenie
Iwanow Iwan 100 000
Pietrow Pietr 80 000
Iwanow Siergiej 40 000
Rabinowicz Mojsza 200 000
Kirienko Anastazja 40 000
Vaska 1000

Jeśli chcesz wyświetlić wszystkie kolumny swojej tabeli , zamiast wymieniać nazwy wszystkich kolumn, możesz po prostu napisać gwiazdkę. Przykład:

SELECT * FROM employee

Otrzymasz wynik zapytania:

ID nazwa zawód wynagrodzenie wiek data_dołączenia
1 Iwanow Iwan Programista 100 000 25 2012-06-30
2 Pietrow Pietr Programista 80 000 23 2013-08-12
3 Iwanow Siergiej Próbnik 40 000 trzydzieści 2014-01-01
4 Rabinowicz Mojsza Dyrektor 200 000 35 2015-05-12
5 Kirienko Anastazja Kierownik biura 40 000 25 2015-10-10
6 Vaska kot 1000 3 2018-01-01

2.2 Zaawansowany widok zapytania SQL

Język SQL został zaprojektowany tak, aby był jak najbardziej przyjazny dla użytkownika.

Po pierwsze, wielkość liter w tekście żądania nie ma znaczenia . Możesz napisać SELECT, Select lub select i wszystko będzie działać. Po drugie, podziały wierszy nie są w żaden sposób brane pod uwagę . DBMS nadal zamieni zapytanie w jeden długi łańcuch, więc możesz go zapisać w dowolny sposób.

Jak zapewne już się domyśliłeś, słowa kluczowe SELECT i FROM nie są ograniczone. W przeciwnym razie nie byłoby tyle rozmów o SQL. Rozszerzony widok zapytania SQL wygląda następująco:

SELECT columns
FROM table
WHERE condition
GROUP BY columns
HAVING columns
ORDER BY sorting

Za pomocą słowa kluczowego WHEREmożesz ustawić warunek / filtr dla wybranych wierszy.

Przykład 1 . Napiszmy zapytanie, które wybierze pracowników z zawodem „Programista”:

SELECT * FROM employee WHERE occupation = 'Programmer'

Otrzymujemy następujący wynik zapytania:

ID nazwa zawód wynagrodzenie wiek data_dołączenia
1 Iwanow Iwan Programista 100 000 25 2012-06-30
2 Pietrow Pietr Programista 80 000 23 2013-08-12

Jak widać, w wyniku wykonania zapytania wyświetlą się tylko wiersze, w których zawód pracownika nazywa się „Programista”.

Słowa kluczowe GROUP BY, ORDER BYa HAVINGomówimy je w następnych wykładach. W tym miejscu przeanalizujemy jeszcze kilka przykładów ze słowem GDZIE.

Przykład 2 . Teraz napiszmy zapytanie, które pokaże nam wszystkich pracowników z pensją większą niż 100 000. Oto jak to będzie wyglądać:

SELECT * FROM employee WHERE salary > 100000

Otrzymujemy następujący wynik zapytania:

ID nazwa zawód wynagrodzenie wiek data_dołączenia
4 Rabinowicz Mojsza Dyrektor 200 000 35 2015-05-12

Przykład 3 . Spróbujmy teraz czegoś trudniejszego. Jak wyświetlić wszystkich pracowników zatrudnionych w 2015 roku? I tak:

SELECT * FROM employee WHERE YEAR(join_date) = 2015

Otrzymujemy następujący wynik zapytania:

ID nazwa zawód wynagrodzenie wiek data_dołączenia
4 Rabinowicz Mojsza Dyrektor 200 000 35 2015-05-12
5 Kirienko Anastazja Kierownik biura 40 000 25 2015-10-10

W tym zapytaniu używamy specjalnej funkcji YEAR(), która pozwala nam uzyskać rok z daty, a następnie porównać rok daty z liczbą 2015.

2.3 Komentarze w zapytaniach SQL

I jeszcze jeden ważny punkt to komentarze w zapytaniach SQL. Komentarze to bardzo przydatna rzecz. Po pierwsze, możesz w nich pisać wyjaśnienia i/lub swoje pomysły. Po drugie, za pomocą komentarzy możesz wyłączyć zepsuty kod. Lub skomentuj starą wersję kodu.

SQL, podobnie jak Java, ma komentarze jednowierszowe i wielowierszowe. Co więcej, komentarz wieloliniowy wygląda jak w Javie. Jego wygląd:


/*
 	comment text
 	comment text
 	comment text
*/
        

Oczywiście można go również użyć w jednej linii. Przykład:


/*comment text*/
        

Istnieje również rodzaj komentarza „od początku do końca linii”, podobny do Java „//”. Tylko w SQL trzeba napisać dwa znaki minusa i spację . Ogólny widok takiego komentarza:

-- comment text

Przykład:


        SELECT * FROM employee -- WHERE YEAR(join_date) = 2015 
        

W powyższym przykładzie skomentowaliśmy warunek zapytania, więc MySQL wykona tylko zapytanie:

SELECT * FROM employee

2.4 Wymowa SQL

Jeśli komunikujesz się z zagranicznymi klientami lub przechodzisz rozmowę kwalifikacyjną online dla amerykańskiej firmy, możesz zostać zapytany o swoje doświadczenia z językiem kontynuacji . Szczerze powiesz, że z nim nie pracowałeś i od razu oblałeś rozmowę kwalifikacyjną.

Rzecz w tym, że język SQL pierwotnie nosił nazwę SEQUEL, co wymawia się jak sequel (ˈsēkwəl), więc bardzo często w Stanach Zjednoczonych i innych anglojęzycznych źródłach usłyszysz nie „escuel”, ale „sequel”. SQL jest zapisywany, a kontynuacja jest odczytywana. Oto taki historyczny paradoks.