我仍然存在这种歧义:概念上,SQL中的语句和查询之间的区别是什么?任何人都可以给出每个人的定义吗?这将是有用的,例如在以一种对每个人都清楚的方式选择程序内的变量名称时。 谢谢!
另外:如何调用由多个语句组成的一大块SQL代码,其中语句以分号(;
)分隔?已经回复的人可以编辑他的答案。非常感谢!
答案 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。