问题标签 [table-alias]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - SQL - 表别名范围
我刚刚(昨天)学会了使用“exists”而不是“in”。
我对此有一些疑问:
1)我理解的解释是:“这样做更好的原因是因为只会返回匹配的值,而不是构建大量可能的结果列表”。这是否意味着虽然第一个子查询可能返回 900 个结果,但第二个子查询将只返回 1(是或否)?
2)过去我曾抱怨过RDBMS:“只能检索前1000行”,第二种方法可以解决这个问题吗?
3)第二个子查询中别名的范围是什么?...别名是否只存在于括号中?
例如
也就是说,如果我在第二个“存在”中使用相同的别名( o 代表其他表),它会与第一个存在有什么问题吗?还是他们完全独立?
这是 Oracle 唯一相关的东西还是对大多数 RDBMS 有效?
非常感谢
sql - 何时使用 SQL 表别名
我很想知道人们是如何使用表别名的。我工作的其他开发人员总是使用表别名,并且总是使用 a、b、c 等的别名。
这是一个例子:
我不同意他们的观点,并认为应该更谨慎地使用表别名。
我认为应该在查询中包含两次相同的表时使用它们,或者当表名很长并且在查询中使用较短的名称将使查询更易于阅读时。
我还认为别名应该是一个描述性的名称,而不仅仅是一个字母。在上面的例子中,如果我觉得我需要使用 1 个字母的表别名,我会使用 t 表示 Trip 表,使用 s 表示段表。
.net - SubSonic 中的表格别名
如何使用 SubSonic 2.1 为表分配别名?
我正在尝试重现以下查询:
我正在使用 SubSonic 2.1 并且升级到 2.2 不是一个选项(还)。谢谢。
sql - 为什么在 Oracle SQL 中选择指定的列以及所有列都是错误的?
假设我有一个 select 语句。
这给出了表中所有列的查询结果。
现在,如果表的第 42 列animals
是is_parent
,并且我想在结果中返回它,就在 之后gender
,这样我可以更容易地看到它。但我也想要所有其他列。
这返回ORA-00936: missing expression
。
相同的语句在 Sybase 中也可以正常工作,而且我知道您需要向表添加表别名才能animals
使其正常工作 ( select is_parent, a.* from animals ani
),但为什么Oracle 必须需要表别名才能进行选择?
sql - Squirrel SQL 或 Oracle 是否有办法在查询中为表名起别名?
我将 Squirrel SQL 与 Oracle 一起使用。我经常需要为名称较长的表编写快速查询。如果我可以给它们取别名并编写诸如“select * from ft where n='blah'”之类的查询,而不是“select * from footablelongname where nameField='blah'”,那就太好了。
我不会在应用程序中使用那种东西,但是对于即兴查询来说会很好。
从理论上讲,我想我可以为每个视图创建一个新视图,但如果能够在 Squirrel SQL 中执行此操作,那就太好了。
sql - 此 SQL Server 查询中的“foo”是什么意思?
例如...
这里foo
是存在的......实际上它做了什么?......
sql - 有没有办法在 Oracle 11g SQL 中给子查询一个别名?
有没有办法在 Oracle 11g 中给子查询一个别名,如:
否则有没有办法根据client_ref_id加入两个子查询。我意识到有一个自联接,但是在我正在运行自联接的数据库上可能需要 5 分钟才能完成(我正在运行的实际查询中有一些额外的逻辑,但我已经确定自联接是什么导致问题)。各个子查询只需几秒钟即可自行完成。自联接查询类似于:
sql - MySQL:AS 别名中可能有通配符吗?
我在多个表中有一堆名称相同的字段(我继承了它 - 不要怪我;)。
是否可以通过通配符自动分配/附加别名,而不是详细设置所有别名?
我正在设想类似的东西(这当然不起作用):
所以我会得到返回的字段,如:
sql - 意见:SQL 语句,你使用表别名吗?
与我一起工作的其中一个人对使用 SQL 别名有以下看法,他刚刚在 reddit 上发布了以下内容。你们怎么看,化名还是不化名?
……
所以我一直是我的开发团队中关于如何编写 SQL 的奇怪人。我在学校学会了使用别名,但我个人讨厌它们。我发现如果很长,它会使语句不可读。我想知道哪些表正在加入其他表。我不想通过 5-10 表连接搜索来弄清楚“p”是什么意思,是产品表、人员等...?
就我个人而言,我觉得使用一点双击、ctrl+c、ctrl+v 并不难。使用完整的表名(当然有时你必须加入同一个表两次,在一些更奇怪的查询中你将被迫使用别名。) 例如。我的风格
VS
个人喜好自己?我的意思是只要考虑这个查询是否是一个更大的连接并且你有一个大的 select 语句。
我假设大多数人使用别名来节省时间,你认为它也更具可读性吗?你能去你的旧 sql 并立即了解你的连接是如何工作的吗?
更新:具体来说,我试图争辩说,将名称缩短为单个字母会使 sql 语句不可读。我认为将表格从 ShoeStackerCrazyProducts 更改为 ShowProducts 是有意义的。另一方面,将其缩短到 sscp 会使其不可读。想法?
php - 如何在 JOIN 查询结果中识别不同表中同名的字段?
我正在使用 LEFT JOIN 在 MYSQL 中运行查询以获取用户及其用户组。两个表都有名为 id 的列。我的结果以数组 (PHP) 的形式返回,因此我有一个包含所有字段数据的数组,但也只有一个数组 [“id”]。
到目前为止,这是我的查询:
SELECT usr.id, usg.id FROM users usr LEFT JOIN (user_groups usg) ON (usg.id=usr.group_id)
现在,简单的解决方案是将字段重命名为唯一名称,如 usr_id 和 usg_id,但我不喜欢这样做。我宁愿让我的值作为 array["usr.id"] 自动返回到数组中。
(我正在使用 CodeIgniter 框架,它会自动完成剩下的工作,但如果只有 MySQL 可以用它返回表别名,我可以在那里重写一些东西)