Difference between a statement and a query in SQL
I still live in this ambiguity: conceptually what's the difference between a statement and a query in SQL? Can anybody give a definition for each of them? It would be useful, for example when choosing variables names inside programs in a way that will be clear for everybody. Thanks!
ADDITIONALLY: How can I call a chunk of SQL code made by more than one statement where statements are separated by a semicolon (;
)? Who already replied can edit his answer. Many thanks!
Solution 1:
A statement is any text that the database engine recognizes as a valid command. As of SQL-92
:
An SQL-statement is a string of characters that conforms to the format and syntax rules specified in this international standard.
A query is a statement that returns a recordset (possibly empty).
How can I call a chunk of SQL code made by more than one statement where statements are separated by a semicolon (;)? Who already replied can edit his answer. Many thanks!
A series of SQL
statements sent to the server at once is called a batch.
Not all SQL
engines required the statements in a batch to be semicolon delimited. SQL Server
, for instance, generally does not and breaks the statements based on context. CTE
statements starting with WITH
are a notable exception.
Solution 2:
A statement is any SQL command such as SELECT, INSERT, UPDATE, DELETE.
A query is a synonym for a SELECT statement.