SQL中的关键字和子句有啥区别?
Posted
技术标签:
【中文标题】SQL中的关键字和子句有啥区别?【英文标题】:What is the difference between a keyword and a clause in SQL?SQL中的关键字和子句有什么区别? 【发布时间】:2015-09-18 00:24:14 【问题描述】:我的理解是,子句是将数据集过滤到特定条件的一种手段。因此,WHERE
作为一个子句对我来说完全有意义。
但在我看过的一些教程中,我看到AND
/OR
被称为关键字。在我看来,它们都是一个子句。
谁能帮助我更好地理解这一点?
【问题讨论】:
AND、OR 和 WHERE 都是关键字 :) WHERE 之后的任何内容都被视为子句(直到下一个子句) forums.devshed.com/mysql-help-4/… 子句是一种过滤数据的手段是不正确的。FROM
关键字开始一个子句,您标识的 WHERE
关键字也是如此。我不知道“子句”是否有正式定义,但对我来说,它意味着语句中的一个部分或块。
一条SQL语句由子句组成,其中一个子句是where
。查看SELECT
的文档并注意术语的使用:msdn.microsoft.com/en-us/library/ms189499.aspx。
【参考方案1】:
举例说明
SELECT col1
,col2
,col3
FROM yourTable1 AS t1
INNER JOIN yourTable2 AS t2 ON t1.Id = t2.Id
WHERE col1 = 'aaaa'
AND col2 = 'bbbb'
ORDER BY col1
这是SELECT
语句或查询
FROM yourTable1 AS t1 INNER JOIN yourTable2
==> FROM
子句
ON t1.Id = t2.Id
==> ON
子句
WHERE col1 = 'aaaa' AND col2 = 'bbbb'
==> WHERE
子句
ORDER BY col1
==> ORDER BY
子句
SELECT
、FROM
、WHERE
、ON
、AS
、AND
、ORDER BY
都是关键字
【讨论】:
【参考方案2】:也许这会有所帮助Reserved Keywords:
Microsoft SQL Server 使用保留关键字来定义, 操作和访问数据库。保留关键字是 SQL Server 使用的 Transact-SQL 语言的语法 解析和理解 Transact-SQL 语句和批处理。虽然它 在语法上可以使用 SQL Server 保留关键字作为 Transact-SQL 脚本中的标识符和对象名称,您可以这样做 只能使用分隔标识符。
WHERE
和 AND
都是 Keywords
和 CLAUSES
。
【讨论】:
可以说一个关键字可以引入一个子句,例如WHERE
关键字开始于 WHERE
子句。但是,AND
关键字是一个运算符,它本身并不是一个子句。【参考方案3】:
关键字、子句和语句的使用如下:
关键字指的是单个 SQL 元素。例如,SELECT
和 FROM
是关键字。
子句是 SQL 语句的一部分。例如,SELECT employee_id, last_name, ...
是子句。
【讨论】:
以上是关于SQL中的关键字和子句有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
oracle sql中的join关键字和inner join关键字有啥区别? [复制]