SQL中语句和查询之间的区别

时间:2011-01-19 13:37:03

标签: sql database terminology

我仍然存在这种歧义:概念上,SQL中的语句查询之间的区别是什么?任何人都可以给出每个人的定义吗?这将是有用的,例如在以一种对每个人都清楚的方式选择程序内的变量名称时。 谢谢!

另外:如何调用由多个语句组成的一大块SQL代码,其中语句以分号(;)分隔?已经回复的人可以编辑他的答案。非常感谢!

6 个答案:

答案 0 :(得分:30)

语句是数据库引擎识别为有效命令的任何文本。截至SQL-92

  

SQL语句是符合本国际标准中规定的格式和语法规则的字符串。

查询是一个返回记录集(可能为空)的语句。

  

如何调用由多个语句组成的一大块SQL代码,其中语句以分号(;)分隔?已经回复的人可以编辑他的答案。非常感谢!

一次发送到服务器的一系列SQL语句称为批处理

并非所有SQL引擎都要求批处理中的语句以分号分隔。例如,SQL Server通常不会根据上下文中断语句。以CTE开头的WITH语句是一个值得注意的例外。

答案 1 :(得分:12)

语句是任何SQL命令,例如SELECT,INSERT,UPDATE,DELETE。

查询是SELECT语句的同义词。

答案 2 :(得分:10)

来自Wikipedia - SQL Language Elements

  

SQL语言被细分为几个语言元素,包括:

     
      
  • 子句,它们是语句和查询的组成部分。 (在某些情况下,这些是可选的。)[9]
  •   
  • 表达式,可以生成标量值或包含数据列和行的表。
  •   
  • 谓词,它指定可以评估为SQL三值逻辑(3VL)或布尔值(真/假/未知)真值的条件,并用于限制语句和查询,或改变程序流程。
  •   
  • 查询 ,根据特定条件检索数据。
  •   
  • 语句 ,可能会对架构和数据产生持久影响,或者可能控制事务,程序流,连接,会话或诊断。      
        
    • SQL语句还包括分号(“;”)语句终止符。虽然并非每个平台都需要,但它被定义为SQL语法的标准部分。
    •   
  •   
  • 无关紧要的空白通常在SQL语句和查询中被忽略,因此可以更容易地格式化SQL代码以便于阅读。
  •   

答案 3 :(得分:4)

语句是可以发送给DBMS的完整,正确的SQL的通用术语。 查询是一个将返回数据的语句,因此查询是一种特殊的语句。

SELECT ...是一个查询,DELETE...只是一个声明。

答案 4 :(得分:1)

大多数人都可以互换使用它们,但有些人经常使用“查询”一词来表示SELECT语句,因为当你查询某事或某人时,你需要信息。并且SELECT查询返回结果集,以便很好地适应描述。事实上,SELECT语句被正式称为DQL(数据查询语言)语句也是显而易见的。

答案 5 :(得分:0)

查询用于根据特定条件检索数据,但语句可能会对架构和数据产生持久影响,或者可能会控制事务,程序流,连接,会话或诊断。另请参阅Wikipedia