jsp*_*jsp 4 sql postgresql except
我试图使用该EXCEPT子句从表中检索数据.我希望获得table1除了存在的所有行之外的所有行table2.据我所知,以下内容不起作用:
CREATE TABLE table1(pk_id int, fk_id_tbl2 int);
CREATE TABLE table2(pk_id int);
Select fk_id_tbl2
FROM table1
Except
Select pk_id
FROM table2
Run Code Online (Sandbox Code Playgroud)
我可以使用的唯一方法EXCEPT似乎是从相同的表中选择或从不同的表中选择具有相同列名的列.
有人可以解释一下如何最好地使用explain子句吗?
您的查询似乎完全有效:
SELECT fk_id_tbl2 AS some_name
FROM table1
EXCEPT -- you may want to use EXCEPT ALL
SELECT pk_id
FROM table2;
Run Code Online (Sandbox Code Playgroud)
列名与查询无关.只有数据类型必须匹配.查询的输出列名称fk_id_tbl2,只是因为它是第一个中的列名SELECT.您可以使用任何别名.
经常被忽视的是:(EXCEPT折叠重复)和EXCEPT ALL- 保持所有个别不匹配的行之间的细微差别.更多解释和其他方法来做同样的事情,其中一些更灵活:
| 归档时间: |
|
| 查看次数: |
4285 次 |
| 最近记录: |