2.1 Introducere în SQL

Dacă aveți o bază de date (DB) și în ea - un tabel cu unele date, atunci cea mai comună sarcină este să găsiți anumite date în acest tabel. Pentru asta a fost inventat SQL acum 40 de ani.

SQL înseamnă Structured Query Language .

Cea mai simplă interogare SQL arată astfel:

SELECT column1, column2, … columnN FROM table

Să presupunem că aveți un tabel de angajați cu o listă a angajaților startup-ului dvs.:

id Nume ocupaţie salariu vârstă Data înscrierii
1 Ivanov Ivan Programator 100.000 25 30-06-2012
2 Petrov Petr Programator 80.000 23 12-08-2013
3 Ivanov Serghei Tester 40.000 treizeci 01-01-2014
4 Rabinovici Moisha Director 200.000 35 2015-05-12
5 Kirienko Anastasia Manager de birou 40.000 25 2015-10-10
6 Vaska pisică 1.000 3 2018-01-01

Doriți să scrieți o interogare care să employee namesle afișeze, de asemenea salaries, apoi trebuie să scrieți o interogare:

SELECT name, salary FROM employee

Veți obține rezultatul interogării:

Nume salariu
Ivanov Ivan 100.000
Petrov Petr 80.000
Ivanov Serghei 40.000
Rabinovici Moisha 200.000
Kirienko Anastasia 40.000
Vaska 1.000

Dacă doriți să afișați toate coloanele din tabelul dvs. , atunci în loc să enumerați numele tuturor coloanelor, puteți pur și simplu să scrieți un asterisc. Exemplu:

SELECT * FROM employee

Veți obține rezultatul interogării:

id Nume ocupaţie salariu vârstă Data înscrierii
1 Ivanov Ivan Programator 100.000 25 30-06-2012
2 Petrov Petr Programator 80.000 23 12-08-2013
3 Ivanov Serghei Tester 40.000 treizeci 01-01-2014
4 Rabinovici Moisha Director 200.000 35 2015-05-12
5 Kirienko Anastasia Manager de birou 40.000 25 2015-10-10
6 Vaska pisică 1.000 3 2018-01-01

2.2 Vizualizare avansată a interogării SQL

Limbajul SQL a fost conceput cât mai ușor de utilizat.

În primul rând, cazul textului cererii nu contează . Puteți scrie SELECT, Select sau select și totul va funcționa. În al doilea rând, rupturile de linie nu sunt luate în considerare în niciun fel . SGBD-ul va transforma în continuare interogarea într-un șir lung, astfel încât să o puteți scrie așa cum doriți.

După cum probabil ați ghicit deja, cuvintele cheie SELECT și FROM nu sunt limitate. Altfel, nu s-ar vorbi atât de mult despre SQL. Vizualizarea extinsă a interogării SQL arată astfel:

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

Cu ajutorul unui cuvânt cheie, WHEREputeți seta o condiție/filtru pentru rândurile selectate.

Exemplul 1 . Să scriem o interogare care va selecta angajați cu profesia „Programator”:

SELECT * FROM employee WHERE occupation = 'Programmer'

Și obținem următorul rezultat al interogării:

id Nume ocupaţie salariu vârstă Data înscrierii
1 Ivanov Ivan Programator 100.000 25 30-06-2012
2 Petrov Petr Programator 80.000 23 12-08-2013

După cum puteți vedea, ca urmare a execuției interogării, sunt afișate doar rândurile în care profesia angajatului se numește „Programator”.

Cuvintele cheie GROUP BYși ORDER BYle HAVINGvom acoperi în prelegerile următoare. Și în aceasta vom analiza încă câteva exemple cu cuvântul UNDE.

Exemplul 2 . Acum să scriem o interogare care ne va arăta pe toți angajații cu un salariu mai mare de 100K. Iată cum va arăta:

SELECT * FROM employee WHERE salary > 100000

Obținem următorul rezultat al interogării:

id Nume ocupaţie salariu vârstă Data înscrierii
4 Rabinovici Moisha Director 200.000 35 2015-05-12

Exemplul 3 . Acum să încercăm ceva mai dificil. Cum se afișează toți angajații care au fost angajați în 2015? Și așa:

SELECT * FROM employee WHERE YEAR(join_date) = 2015

Obținem următorul rezultat al interogării:

id Nume ocupaţie salariu vârstă Data înscrierii
4 Rabinovici Moisha Director 200.000 35 2015-05-12
5 Kirienko Anastasia Manager de birou 40.000 25 2015-10-10

În această interogare, folosim o funcție specială YEAR()care ne permite să obținem anul de la o dată și apoi să comparăm anul datei cu numărul 2015.

2.3 Comentarii în interogările SQL

Și încă un punct important sunt comentariile în interogările SQL. Comentariile sunt un lucru foarte util. În primul rând, puteți scrie explicații și/sau ideile dvs. în ele. În al doilea rând, cu ajutorul comentariilor, puteți dezactiva codul spart. Sau comentați versiunea veche a codului.

SQL, ca și Java, are comentarii cu o singură linie și mai multe rânduri. Mai mult, un comentariu pe mai multe rânduri arată exact ca în Java. Aspectul său:


/*
 	comment text
 	comment text
 	comment text
*/
        

Desigur, poate fi folosit și într-o singură linie. Exemplu:


/*comment text*/
        

Există, de asemenea, un tip de comentariu „de la început până la sfârșitul liniei”, similar cu Java „//”. Numai în SQL trebuie să scrieți două caractere minus și un spațiu . Vedere generală a unui astfel de comentariu:

-- comment text

Exemplu:


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

În exemplul de mai sus, am comentat condiția interogării, astfel încât MySQL va executa doar interogarea:

SELECT * FROM employee

2.4 Pronunţie SQL

Dacă comunicați cu clienți străini sau promovați un interviu online pentru o companie americană, atunci este posibil să fiți întrebat despre experiența dvs. cu limbajul sequel . Vei spune sincer că nu ai lucrat cu el și ai respins imediat interviul.

Și chestia este că limbajul SQL se numea inițial SEQUEL, care se pronunță ca o continuare (ˈsēkwəl), așa că foarte des în SUA și alte surse în limba engleză veți auzi nu „escuel”, ci „sequel”. Se scrie SQL și se citește continuarea. Iată un astfel de paradox istoric.