Différence entre une instruction et une requête en SQL

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

De plus: Comment puis-je appeler un morceau de code SQL fait par Plus d'une instruction où les instructions sont séparées par un point-virgule (;)? Qui a déjà répondu peut modifier sa réponse. Merci beaucoup!

26
demandé sur sventevit 2011-01-19 16:37:02

6 réponses

Une instruction est tout texte que le moteur de base de données reconnaît comme une commande valide. À partir de 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.

Une requête {[8] } est une instruction qui renvoie un jeu d'enregistrements (éventuellement vide).

Comment puis-je appeler un morceau de code SQL fait par Plus d'une instruction où les instructions sont séparées par un point-virgule (;)? Qui déjà répondu peut modifier sa réponse. Merci beaucoup!

Une série de SQL déclarations envoyées au serveur à la fois est appelé lot.

Tous les moteurs SQL n'exigeaient pas 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 sont une exception notable.

25
répondu Quassnoi 2011-01-19 14:38:46

À partir de Wikipedia-éléments de langage SQL

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

  • Clauses , qui sont des composants constitutifs des déclarations et des requêtes. (Dans certains cas, ceux-ci sont facultatifs.)[9]
  • Expressions , qui peuvent produire des valeurs scalaires ou des tables composées de colonnes et de lignes de données.
  • prédicats , qui spécifient des conditions qui peuvent être évalué en valeurs de vérité logique à trois valeurs SQL (3VL) ou booléenne (true/false/unknown) et qui sont utilisées pour limiter les effets des instructions et des requêtes, ou pour modifier le flux du programme.
  • requêtes, qui récupèrent des données en fonction de critères spécifiques.
  • déclarations, qui peut avoir un effet persistant sur les schémas et les données, ou qui peut contrôler les transactions, le flux de programme, les connexions, les sessions ou les diagnostics.
    • SQL les instructions incluent également le terminateur de l'instruction point-virgule (";"). Bien qu'il ne soit pas requis sur toutes les plates-formes, il est défini comme une partie standard de la grammaire SQL.
  • les espaces insignifiants sont généralement ignorés dans les instructions et les requêtes SQL, ce qui facilite le formatage du code SQL pour plus de lisibilité.
9
répondu MicSim 2011-01-19 13:46:26

Une instruction est une commande SQL telle que SELECT, INSERT, UPDATE, DELETE.

Une requête est synonyme d'une instruction SELECT.

9
répondu Tony Andrews 2014-06-19 15:15:10

Une instruction est le terme général pour un morceau de SQL complet et correct que vous pouvez envoyer à un SGBD. Une requête est une instruction qui retournera des données, donc une requête est un type spécial d'instruction.

Un SELECT ... serait une requête, un DELETE... juste une déclaration.

4
répondu sleske 2011-01-19 13:44:40

Ils sont utilisés de manière interchangeable par la plupart, mais certains utilisent souvent le mot "query" pour signifier, spécifiquement, SELECT instructions, parce que lorsque vous query quelque chose ou quelqu'un, vous voulez des informations. Et les requêtes SELECT renvoient des ensembles de résultats, ce qui correspondrait bien à la description. Cela est également évident dans le fait que les instructions SELECT sont formellement appelées instructions DQL (data Query Language).

1
répondu BoltClock 2011-01-19 13:43:07

Les requêtes {[2] } sont utilisées pour récupérer des données en fonction de critères spécifiques, mais l'instruction peut avoir un effet persistant sur les schémas et les données, ou peut contrôler les transactions, le flux de programme, les connexions, les sessions ou les diagnostics. Voir aussi Wikipedia.

0
répondu NAYAN RAMI 2014-05-08 07:14:34