sql - sql中的关键字真正表示什么

标签 sql database self-join table-alias

1:这是一个SQL查询,我在书上找到的

 select distinct T.branch_name
        from branch as T, branch as S
        where T.assets > S.assets and
        S.branch_city = 'Brooklyn'

我很困惑的是 T 和 S 都表示表分支对吗?为什么他们使用T.assets>S.assets,它和branch.asset > branch.asset 一样吗?有什么区别。

2:下面查询的意思是“查找所有在布鲁克林所有分支机构都有账户的客户” question2

但我不知何故没有得到它,也与 as 关键字作斗争

最佳答案

想想这样的代码:

for (i=0; i<10; ++i)
    for (j=0; j<10; ++j)
        print i, j

i 和 j 怎么可能不是同一个值呢?很简单——它们都在同一组从 0 到 9 的值上循环,但是在循环的每次迭代中,它们在该整数范围内都有一个不同值。

这类似于表别名。将连接想象成这种嵌套循环。每次连接两行时,S 和 T 都是相关名称(这是技术术语),它们一次引用您的分支 表中的一行。

关于sql - sql中的关键字真正表示什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26520252/

相关文章:

SQL组合多个标识符为重复记录创建一个组ID

MySQL 如何编写 SQL 来查找任何 15 分钟窗口中的过多事务?

database - 如何将数据库置于 git(版本控制)之下?

java - 外键问题MySQL

sql - 如何使用 BigQuery 显示自连接树层次结构表?

SQL 将数据从行移动到列

sql - 艰苦学习SQL-练习1. sqlite3 ex1.db <ex1.sql无法正常工作

sql - 如何解决此查询中的 pgadmin 4 GRANT 语法错误?

sql - 使用新列转置 SQL 中的数据

mysql - 通过命令提示符将mysql导出到特定路径