Visbiežākā operācija SQL ir vaicājums, ko veic ar deklaratīvo paziņojumuSELECT. SELECT atgriež datus no vienas vai vairākām tabulām vai vienādībām. Standarta SELECT pieprasījumiem nav ilgstošu seku uz datubāzi, bet tās var būt, izmantojot nestandarta SELECT paveidus, piemēram, SELECT INTO.
Vaicājumi atļauj lietotājam aprakstīt vēlamos datus, atstājot datu bāzu vadības sistēmu (database management system (DBMS)) atbildīgu par plānošanu, optimizēšanu, un fizisko darbību veikšanu, kas ir nepieciešams, lai saņemtu rezultātu.
Vaicājums ietver sarakstu ar kolonnām, kas būs ietvertas rezultātā tūlīt pēc SELECT atslēgvārda. "Zvaigznīte" ("*") var tikt lietota lai norādītu, ka vaicājumam jāatgriež visas kolonnas vaicātajās tabulās. SELECT ir vissarežģītākais priekšraksts SQL valodā, ar izvēles atslēgvārdiem un nosacījumiem, kas ietver:
- Nosacījums FROM — norāda tabulu/tabulas, no kuras dati jāiegūst. Nosacījums FROM var iekļaut izvēles apakšnosacījumu JOIN, lai precizētu noteikumus tabulu savienošanai.
- Nosacījums WHERE — ietver salīdzinājuma predikātu, kas ierobežo atgrieztās rindas no vaicājuma. Nosacījums WHERE likvidē visas rindas no rezultātu kopas, kuras salīdzinājuma predikāts nenovērtē, kā "patiesas" ("True").
- Nosacījums GROUP BY — tiek bieži lietots kopā ar SQL apkopšanas funkcijām, vai arī lai atbrīvotos no dublētām rindām rezultātu kopā. Nosacījums WHERE tiek piemērots pirms nosacījuma GROUP BY.
- Nosacījums HAVING — ietver predikātu, kas tiek lietots lai filtrētu rindas, kas izriet no nosacījuma GROUP BY. Tāpēc, ka tas darbojas uz nosacījuma GROUP BY rezultātiem, apkopošanas funkcijas var tikt lietotas, izmantojot nosacījuma HAVING predikātu.
- Nosacījums ORDER BY — identificē, kuras kolonnas tiek lietotas, lai sakārtotu iegūtos datus, un kādā secībā tie būtu jākārto (augošā vai dilstošā). Bez ORDER BY nosacījuma rindu secība, kuru atgriež SQL vaicājums ir nenoteikta.
SQL vaicājumus var iedalīt 4 daļās:
- Datu manipulēšanas vaicājumi (SELECT,INSERT,UPDATE,DELETE,MERGE)
- Datu definēšanas vaicājumi (CREATE, DROP, TRUNCATE, ALTER)
- Datu kontroles vaicājumi (GRANT, REVOKE)
Transakciju kontroles vaicājumi (BEGIN WORK vai START TRANSACTION, COMMIT, ROLLBACK).