2.1 Inleiding tot SQL

Als u een database (DB) heeft en daarin een tabel met wat gegevens, dan is de meest gebruikelijke taak om bepaalde gegevens in deze tabel te vinden. Daar is SQL 40 jaar geleden voor uitgevonden.

SQL staat voor Structured Query Language .

De eenvoudigste SQL-query ziet er als volgt uit:

SELECT column1, column2, … columnN FROM table

Stel dat u een werknemerstabel heeft met een lijst van de werknemers van uw startup:

ID kaart naam bezigheid salaris leeftijd join_date
1 Ivanov Ivan Programmeur 100.000 25 2012-06-30
2 Petrov Petr Programmeur 80.000 23 2013-08-12
3 Ivanov Sergej Tester 40.000 dertig 01-01-2014
4 Rabinovich Moisha Regisseur 200.000 35 2015-05-12
5 Kirienko Anastasia Officemanager 40.000 25 2015-10-10
6 Vaska kat 1.000 3 2018-01-01

employee namesU wilt een query schrijven die ze ook weergeeft salaries, dan moet u een query schrijven:

SELECT name, salary FROM employee

U krijgt het queryresultaat:

naam salaris
Ivanov Ivan 100.000
Petrov Petr 80.000
Ivanov Sergej 40.000
Rabinovich Moisha 200.000
Kirienko Anastasia 40.000
Vaska 1.000

Als u alle kolommen van uw tabel wilt weergeven , kunt u in plaats van de namen van alle kolommen op te sommen, eenvoudig een sterretje schrijven. Voorbeeld:

SELECT * FROM employee

U krijgt het queryresultaat:

ID kaart naam bezigheid salaris leeftijd join_date
1 Ivanov Ivan Programmeur 100.000 25 2012-06-30
2 Petrov Petr Programmeur 80.000 23 2013-08-12
3 Ivanov Sergej Tester 40.000 dertig 01-01-2014
4 Rabinovich Moisha Regisseur 200.000 35 2015-05-12
5 Kirienko Anastasia Officemanager 40.000 25 2015-10-10
6 Vaska kat 1.000 3 2018-01-01

2.2 Geavanceerde weergave van SQL-query

De SQL-taal is zo gebruiksvriendelijk mogelijk ontworpen.

Ten eerste doet de hoofdletter van de verzoektekst er niet toe . U kunt SELECT, Select of select schrijven en alles zal werken. Ten tweede wordt er op geen enkele manier rekening gehouden met regeleinden . Het DBMS verandert de query nog steeds in één lange reeks, zodat u deze kunt schrijven zoals u wilt.

Zoals je waarschijnlijk al geraden hebt, zijn de SELECT- en FROM-sleutelwoorden niet beperkt. Anders zou er niet zoveel over SQL worden gepraat. De uitgebreide weergave van de SQL-query ziet er als volgt uit:

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

Met behulp van een trefwoord WHEREkunt u een voorwaarde / filter instellen voor de geselecteerde rijen.

Voorbeeld 1 . Laten we een query schrijven die werknemers selecteert met het beroep "Programmeur":

SELECT * FROM employee WHERE occupation = 'Programmer'

En we krijgen het volgende zoekresultaat:

ID kaart naam bezigheid salaris leeftijd join_date
1 Ivanov Ivan Programmeur 100.000 25 2012-06-30
2 Petrov Petr Programmeur 80.000 23 2013-08-12

Zoals u kunt zien, worden als resultaat van de uitvoering van de query alleen rijen weergegeven waarin het beroep van de werknemer "Programmeur" wordt genoemd.

De kernwoorden GROUP BY, ORDER BYen HAVINGdie behandelen we in de volgende colleges. En hierin zullen we nog een paar voorbeelden analyseren met het woord WAAR.

Voorbeeld 2 . Laten we nu een query schrijven die ons alle werknemers laat zien met een salaris van meer dan 100.000. Dit is hoe het eruit zal zien:

SELECT * FROM employee WHERE salary > 100000

We krijgen het volgende zoekresultaat:

ID kaart naam bezigheid salaris leeftijd join_date
4 Rabinovich Moisha Regisseur 200.000 35 2015-05-12

Voorbeeld 3 . Laten we nu iets moeilijkers proberen. Hoe alle werknemers weergeven die in 2015 zijn aangenomen? En zo:

SELECT * FROM employee WHERE YEAR(join_date) = 2015

We krijgen het volgende zoekresultaat:

ID kaart naam bezigheid salaris leeftijd join_date
4 Rabinovich Moisha Regisseur 200.000 35 2015-05-12
5 Kirienko Anastasia Officemanager 40.000 25 2015-10-10

In deze query gebruiken we een speciale functie YEAR()waarmee we het jaar van een datum kunnen halen en vervolgens het jaar van de datum kunnen vergelijken met het getal 2015.

2.3 Opmerkingen in SQL-query's

En nog een belangrijk punt zijn opmerkingen in SQL-query's. Opmerkingen zijn erg handig. Ten eerste kun je er uitleg en/of je ideeën in schrijven. Ten tweede kunt u met behulp van opmerkingen kapotte code uitschakelen. Of becommentarieer de oude versie van de code.

SQL heeft, net als Java, enkelregelige en meerregelige commentaren. Bovendien ziet een commentaar van meerdere regels er net zo uit als in Java. Het uiterlijk:


/*
 	comment text
 	comment text
 	comment text
*/
        

Natuurlijk kan het ook in één regel worden gebruikt. Voorbeeld:


/*comment text*/
        

Er is ook een soort commentaar "van het begin tot het einde van de regel", vergelijkbaar met de Java "//". Alleen in SQL moet je twee mintekens en een spatie schrijven . Algemeen beeld van zo'n opmerking:

-- comment text

Voorbeeld:


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

In het bovenstaande voorbeeld hebben we de queryvoorwaarde becommentarieerd, dus MySQL zal alleen de query uitvoeren:

SELECT * FROM employee

2.4 SQL-uitspraak

Als u communiceert met buitenlandse klanten of een online interview aflegt voor een Amerikaans bedrijf, dan wordt u mogelijk gevraagd naar uw ervaring met de vervolgtaal . Je zult eerlijk zeggen dat je niet met hem hebt gewerkt en het interview meteen laten zakken.

En het punt is dat de SQL-taal oorspronkelijk SEQUEL heette, wat wordt uitgesproken als een vervolg (ˈsēkwəl), dus heel vaak hoor je in de VS en andere Engelstalige bronnen niet "escuel", maar "vervolg". SQL wordt geschreven en het vervolg wordt gelezen. Hier is zo'n historische paradox.