explain query plan select
products.id
, name
, sku
, product_property_values.value_number as price
, row_number() over (order by products.name desc, products.id desc) as rn
from products
inner join product_property_values on products.id = product_property_values.product_id
inner join product_properties on product_property_values.property_id = product_properties.id
where product_properties.description = 'price_in_cents'
and products.id in (select product_id
from product_properties
join product_property_values on product_properties.id = product_property_values.property_id
where product_properties.description = 'number_of_cores'
and product_property_values.value_number >= 1)
and products.id in (select product_id
from product_properties
join product_property_values on product_properties.id = product_property_values.property_id
where product_properties.description = 'number_of_cores'
and product_property_values.value_number <= 1)
and products.id in (select product_id
from product_properties
join product_property_values on product_properties.id = product_property_values.property_id
where product_properties.description = 'random_access_memory'
and product_property_values.value_number >= 1)
and products.id in (select product_id
from product_properties
join product_property_values on product_properties.id = product_property_values.property_id
where product_properties.description = 'random_access_memory'
and product_property_values.value_number <= 1)
and products.id in (select product_id
from product_properties
join product_property_values on product_properties.id = product_property_values.property_id
where product_properties.description = 'price_in_cents'
and product_property_values.value_number >= 1)
and products.id in (select product_id
from product_properties
join product_property_values on product_properties.id = product_property_values.property_id
where product_properties.description = 'price_in_cents'
and product_property_values.value_number <= 1)
order by products.name desc, products.id desc;