我得到了队友的追问。 但我了解查询的某些部分。 我认为它的含义是db_user和direct_groups表中的输出名称字段,如果name字段与direct_groups表中的dba相等。是吗??
Select a.name
from db_user, table(direct_groups) as t(roles)
where roles.name = 'dba'
答案 0 :(得分:0)
这看起来不像有效的SQL。没有别名“a”因此它不能选择“a.name”。看起来代码试图为具有role =“dba”的用户选择所有用户“名称”。
答案 1 :(得分:0)
提供的查询似乎使用“表函数”,因此我认为正在使用的是
选择a.name 从db_user,表(direct_groups)作为t(角色) 其中roles.name ='dba'
如果我调整查询语法,我猜它会这样做:
SELECT a.name
FROM db_user a --<< needs this alias
CROSS JOIN table(direct_groups('roles')) roles --<< use the alias "roles"
WHERE roles.name = 'dba'
它似乎列出了“table function”返回的每一行的所有用户名,其名称为“dba”