人们,我在SQLite中有以下查询:
select license, username from check_table where
(
username not in (
select username from Address
)
) order by license, username;
Address
是另一个表。有趣的部分是:Address
没有username
列!
详细信息:
Query finished in 0.004 second(s)
username
部分(例如修改为userrname
),则会收到no such column
错误,这完全没问题username
替换为mail_username
(实际上存在),它也永远不会返回任何结果-完全奇怪,因为它确实应该如此。现在,我的问题是:为什么我在这里没有出现错误?这与我从未获得任何结果有关吗?
答案 0 :(得分:2)
您要从username
而不是check_table
表中选择address
。
尝试添加别名并签出:
select ct.license, ct.username
from check_table as ct
where
(
ct.username not in (
select ct.username
from Address as a
)
) order by ct.license, ct.username;
我敢打赌,如果您尝试使用select a.username...
,则会收到有关不存在的列的错误消息。
为此,在查询中始终使用多个表时,最好使用别名。