sql - 为什么 SQL 中的标识符可以在赋值前被引用?
问题描述
在 SQL 查询中,您可以在声明名称之前引用该名称。
SELECT A.id FROM table_a A;
这种行为的历史是什么?它与需要您在引用变量之前分配给变量的编程语言有什么关系?
解决方案
您误解了 SQL 语言的性质。它不是一种程序语言,而是一种声明性语言。该语句描述了结果应该是什么样子,并且数据库相应地构建了实际的查询计划——默认情况下,您看不到。
一些数据库提供了某种程序子语言,可以用来编写程序——例如Oracle中的PL/SQL。但是,您在此处显示的是标准 SQLSELECT
语句。那里没有变量声明的概念。A
在FROM
子句中是 的别名table_a
,也就是标识符,您可以使用 . 之类的表达式来引用表的列<table identifier>.<column name>
。
推荐阅读
- bash - 具有特定名称范围的 Bash 列表文件
- python - 我的“python”命令和“which python”指向不同的python版本
- php - 在数组内的字符串中保留换行符
- twitter - Twitter Card Images 在 Gatsby 应用程序上不起作用
- javascript - 在 d3js 中使用 join 方法时出现无效的合并错误
- flutter - 为什么 textbutton 不符合 ROW 中的普通文本
- python - 即使在单独的线程中运行后台进程后,Tkinter GUI 也会冻结
- python - FastApi - api 密钥作为参数足够安全
- spring - 加载资源失败:服务器响应状态为 404 (Not Found) Angular12 Spring boot
- python - 如何在 Pygame 中使用类来缩小此代码段?