Poprawnie – w kontekście baz danych SQL angielskim odpowiednikiem słowa „zapytanie” jest „query”. W całym ekosystemie bazodanowym, zarówno w dokumentacji technicznej, jak i w praktyce zawodowej, przyjęło się, że query to właśnie żądanie skierowane do silnika bazy danych o zwrócenie, modyfikację lub analizę danych. Może to być zarówno proste zapytanie SELECT, jak i bardziej złożone polecenia typu INSERT, UPDATE, DELETE czy nawet zagnieżdżone podzapytania. Mówiąc, że „piszemy query do bazy”, mamy na myśli kompletne zapytanie SQL, które serwer interpretuje i wykonuje. W praktyce, w narzędziach takich jak phpMyAdmin, SQL Server Management Studio, pgAdmin czy nawet w ORM-ach (np. w Laravelu, Django), wszędzie pojawia się pojęcie „query builder”, „query log”, „query optimization”. To wszystko odnosi się właśnie do zapytań. Warto też kojarzyć, że w literaturze i kursach często rozróżnia się pojęcie „query” (czyli konkretne zapytanie) od „statement” (instrukcja, polecenie w języku SQL), ale w mowie potocznej programistów często się to miesza. Dobrą praktyką jest używanie słowa „query” zawsze wtedy, gdy mówimy o operacji odczytu lub ogólnie o wysłaniu zapytania SQL do bazy, a nie np. o nazwie słowa kluczowego czy znaku specjalnym. W projektach komercyjnych, logach aplikacji, monitoringu wydajności, wszędzie będzie pojawiać się termin „slow queries”, „expensive queries” – i to zawsze oznacza wolno działające zapytania. Moim zdaniem warto się szybko przyzwyczaić do tego terminu, bo jest absolutnie podstawowy w pracy z bazami danych.
W bazach danych SQL słowo „zapytanie” ma bardzo konkretne znaczenie i w języku angielskim odpowiada mu termin „query”. Częsty błąd polega na tym, że myli się samo zapytanie z jego fragmentami albo z innymi elementami składni SQL. Wiele osób, które dopiero zaczynają z SQL, widząc w przykładach słowo SELECT, automatycznie myśli: „to chyba jest to zapytanie”. Tymczasem SELECT jest tylko jednym z tzw. słów kluczowych (keywords) języka SQL, które rozpoczyna określony typ zapytania, najczęściej służący do odczytu danych. Całe zapytanie to pełna instrukcja, np. „SELECT * FROM users WHERE active = 1;” – i to właśnie jest query, a nie samo słowo SELECT. Podobnie bywa z terminem „keyword”. Keyword, czyli słowo kluczowe, to element składni języka, taki jak SELECT, FROM, WHERE, INSERT, UPDATE. Są to zarezerwowane wyrazy, których nie powinniśmy używać jako nazw tabel czy kolumn bez odpowiedniego cytowania. Jednak keyword to tylko składnik zapytania, a nie jego ogólna nazwa. Mylenie „query” z „keyword” wynika zwykle z tego, że w opisach składni SQL dużo mówi się o słowach kluczowych i początkujący podświadomie podmieniają pojęcia. Jeszcze inna pomyłka to skojarzenie słowa „zapytanie” z „asterisk”, czyli gwiazdką „*”. Gwiazdka w SQL oznacza po prostu „wszystkie kolumny” w kontekście danego SELECT-a. Gdy piszemy „SELECT * FROM table;”, to gwiazdka jest tylko skrótem, który każe silnikowi bazy zwrócić wszystkie kolumny z danej tabeli. Nie ma ona nic wspólnego z nazwą samego zapytania. Dobra praktyka polega na tym, żeby jasno rozdzielać te pojęcia: query – całe zapytanie SQL; keywords – słowa kluczowe budujące to zapytanie; asterisk – specjalny symbol używany np. w SELECT do pobierania wszystkich kolumn. Takie uporządkowanie słownictwa bardzo ułatwia później czytanie dokumentacji, materiałów anglojęzycznych i rozmowę z innymi programistami czy administratorami baz danych.