Skip to content

JoinOrder Q28b — Canonical JoinOrder 28b

JoinOrder benchmark · all JoinOrder queries

Canonical JoinOrder SQL query 28b; generated DataFrame translation

Representative SQL

Rendered for DataFusion with default parameters.

SELECT
MIN(cn.name) AS movie_company,
MIN(mi_idx.info) AS rating,
MIN(t.title) AS complete_euro_dark_movie
FROM complete_cast AS cc, comp_cast_type AS cct1, comp_cast_type AS cct2, company_name AS cn, company_type AS ct, info_type AS it1, info_type AS it2, keyword AS k, kind_type AS kt, movie_companies AS mc, movie_info AS mi, movie_info_idx AS mi_idx, movie_keyword AS mk, title AS t
WHERE
cct1.kind = 'crew'
AND cct2.kind <> 'complete+verified'
AND cn.country_code <> '[us]'
AND it1.info = 'countries'
AND it2.info = 'rating'
AND k.keyword IN ('murder', 'murder-in-title', 'blood', 'violence')
AND kt.kind IN ('movie', 'episode')
AND mc.note NOT LIKE '%(USA)%'
AND mc.note LIKE '%(200%)%'
AND mi.info IN ('Sweden', 'Germany', 'Swedish', 'German')
AND mi_idx.info > '6.5'
AND t.production_year > 2005
AND kt.id = t.kind_id
AND t.id = mi.movie_id
AND t.id = mk.movie_id
AND t.id = mi_idx.movie_id
AND t.id = mc.movie_id
AND t.id = cc.movie_id
AND mk.movie_id = mi.movie_id
AND mk.movie_id = mi_idx.movie_id
AND mk.movie_id = mc.movie_id
AND mk.movie_id = cc.movie_id
AND mi.movie_id = mi_idx.movie_id
AND mi.movie_id = mc.movie_id
AND mi.movie_id = cc.movie_id
AND mc.movie_id = mi_idx.movie_id
AND mc.movie_id = cc.movie_id
AND mi_idx.movie_id = cc.movie_id
AND k.id = mk.keyword_id
AND it1.id = mi.info_type_id
AND it2.id = mi_idx.info_type_id
AND ct.id = mc.company_type_id
AND cn.id = mc.company_id
AND cct1.id = cc.subject_id
AND cct2.id = cc.status_id

Representative DataFrame

Expression family (Polars, PySpark, DataFusion), default parameters.

def _impl(ctx: DataFrameContext) -> Any:
return _execute_joinorder_expression_query(ctx, query_id)

Get the exact query for your run

The blocks above are representative. To get the precise statement a specific platform runs at a specific scale, substitute your own values:

from benchbox import JoinOrder
bench = JoinOrder(scale_factor=1.0) # your scale factor
queries = bench.get_queries(dialect="datafusion") # your platform's dialect; drop dialect= for native SQL
print(queries['28b'])

For the DataFrame form:

from benchbox.core.query_catalog import get_dataframe_render
print(get_dataframe_render('joinorder', '28b', family="expression").source) # or family="pandas"

Source

Query text: benchbox/core/joinorder/queries.py