web-dev-qa-db-fra.com

Différence entre une déclaration et une requête en SQL

Je vis toujours dans cette ambiguïté: quelle est la différence conceptuelle entre un statement et un query en SQL? Quelqu'un peut-il donner une définition pour chacun d'eux? Ce serait utile, par exemple, lors du choix des noms de variables dans les programmes de manière claire pour tout le monde . Merci!

ADDITIONALLY: Comment appeler une partie de code SQL constituée de plusieurs instructions, les instructions étant séparées par un point-virgule (;)? Qui a déjà répondu peut éditer sa réponse. Merci beaucoup!

30
bluish

Un statement est un texte que le moteur de base de données reconnaît comme une commande valide. En date du SQL-92:

Une instruction SQL est une chaîne de caractères conforme aux règles de format et de syntaxe spécifiées dans cette norme internationale.

Query est une instruction qui renvoie un jeu d'enregistrements (éventuellement vide).

Comment appeler une partie de code SQL constituée de plusieurs instructions, les instructions étant séparées par un point-virgule (;)? Qui a déjà répondu peut éditer sa réponse. Merci beaucoup!

Une série d'instructions SQL envoyées simultanément au serveur est appelée batch.

Tous les moteurs SQL n'avaient pas besoin que les instructions d'un lot soient délimitées par des points-virgules. SQL Server, par exemple, ne le fait généralement pas et casse les instructions en fonction du contexte. Les instructions CTE commençant par WITH constituent une exception notable.

28
Quassnoi

Un statement est une commande SQL telle que SELECT, INSERT, UPDATE, DELETE.

Un query est un synonyme pour une instruction SELECT.

11
Tony Andrews

De Wikipedia - Eléments de langage SQL

Le langage SQL est subdivisé en plusieurs éléments de langage, notamment:

  • Clauses, qui sont des composants constitutifs des instructions et des requêtes. (Dans certains cas, ils sont facultatifs.) [9]
  • Expressions, qui peut générer des valeurs scalaires ou des tables constituées de colonnes et de lignes de données.
  • Prédicats, qui spécifient les conditions pouvant être évaluées en valeurs de vérité SQL à trois valeurs (3VL) ou booléennes (vraies/fausses/inconnues) et utilisées pour changer le déroulement du programme.
  • Requêtes, qui récupère des données en fonction de critères spécifiques.
  • Statements, qui peut avoir un effet persistant sur les schémas et les données ou qui peut contrôler des transactions, un flux de programme, des connexions, des sessions ou des diagnostics.
    • Les instructions SQL incluent également le point de terminaison des instructions point-virgule (";"). Bien que cela ne soit pas obligatoire sur toutes les plateformes, il est défini comme une partie standard de la grammaire SQL.
  • (Espaces blancs non significatifs} _ est généralement ignoré dans les instructions et les requêtes SQL, ce qui facilite la mise en forme du code SQL pour en améliorer la lisibilité.
9
MicSim

Un statement est le terme général qui désigne une partie du code SQL correct et complet que vous pouvez envoyer à un SGBD. Query est une instruction qui renverra des données. Une requête est donc un type d'instruction spécial.

Un SELECT ... serait une requête, un DELETE... juste une instruction.

4
sleske

La plupart des utilisateurs les utilisent indifféremment, mais certains utilisent souvent le mot "requête" pour désigner, en particulier, les instructions SELECT, car lorsque vous questionnez quelque chose ou quelqu'un, vous voulez des informations. Et les requêtes SELECT renvoient des ensembles de résultats, de sorte que cela corresponde parfaitement à la description. Cela est également évident dans le fait que les instructions SELECT sont officiellement appelées instructions DQL (Data Query Language).

1
BoltClock

Queries est utilisé pour extraire des données en fonction de critères spécifiques, mais statement peut avoir un effet persistant sur les schémas et les données ou contrôler des transactions, un flux de programme, des connexions, des sessions ou des diagnostics. Voir aussi Wikipedia .

0
NAYAN RAMI