我在 libpq 上为PostrgreSQL制作了一个远程应用程序草案。它表现良好,但我已经分析了应用程序的一般功能。对于我产生的每个最终业务结果,我都会调用类似 40 select 子句(通过 tcpip)。
我有来自 SQL-Server 的回忆,提醒我尽量减少远程应用程序和数据库之间的交互次数。在分析了我的选择之后,我确实认为我可以SELECT
使用连接将这个数字减少到 3 个子句。但我不记得SELECT
在 another中使用 a 结果的语法SELECT
。
例如:
SELECT * FROM individual
INNER JOIN publisher
ON individual.individual_id = publisher.individual_id
WHERE individual.individual_id = 'here I would like to use the results of a another select'
这另一个SELECT
将是简单的那种:
SELECT identifier FROM another_table WHERE something='something'
这是简化的表格布局,针对不同的 item_types 拒绝了多次......(3 种完全不同的类型,因此如果优化了 3 个 SQL 查询)。
table passage
id_passage PK
business_field_passage bytea
table item
id_item PK
id_passage FK
business_field_item text
table item_detail
id_item_detail PK
id_item FK
business_field_item_detail text
image_content bytea
有几个id_item
为一id_passage
。
有几个id_item_detail
为一id_item
。
你会怎么写?
描述将一个选择重定向到另一个选择(如果有)的操作的名称是什么?
这是你的目标吗?确保被比较的字段是可比较的(即两个字段都是数字、文本、布尔值等)。
如果您希望基于多个值进行选择:
您可以将其重写为另一个
JOIN
. 这通常是最简单和最快的:我还进行了一些简化,并取消了标识符的无端 CamelCase 拼写。