blob: 2d12df5b3813959d39b6ce8554be1a3ef2859e49 [file] [log] [blame]
# Copyright 2011-2015 Quickstep Technologies LLC.
# Copyright 2015 Pivotal Software, Inc.
# Copyright 2016, Quickstep Research Group, Computer Sciences Department,
# University of Wisconsin—Madison.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Query 1
SELECT
l_returnflag,
l_linestatus,
SUM(l_quantity) AS sum_qty,
SUM(l_extendedprice) AS sum_base_price,
SUM(l_extendedprice * (1 - l_discount)) AS sum_disc_price,
SUM(l_extendedprice * (1 - l_discount) * (1 + l_tax)) AS sum_charge,
AVG(l_quantity) AS avg_qty,
AVG(l_extendedprice) AS avg_price,
AVG(l_discount) AS avg_disc,
COUNT(*) AS count_order
FROM
lineitem
WHERE
l_shipdate <= DATE '1998-12-01' - INTERVAL '96 day'
GROUP BY
l_returnflag,
l_linestatus
ORDER BY
l_returnflag,
l_linestatus
--
SelectStatement
+-select_query=Select
+-select_clause=SelectList
| +-SelectListItem
| | +-AttributeReference[attribute_name=l_returnflag]
| +-SelectListItem
| | +-AttributeReference[attribute_name=l_linestatus]
| +-SelectListItem[alias=sum_qty]
| | +-FunctionCall[name=SUM]
| | +-AttributeReference[attribute_name=l_quantity]
| +-SelectListItem[alias=sum_base_price]
| | +-FunctionCall[name=SUM]
| | +-AttributeReference[attribute_name=l_extendedprice]
| +-SelectListItem[alias=sum_disc_price]
| | +-FunctionCall[name=SUM]
| | +-Multiply
| | +-left_operand=AttributeReference[attribute_name=l_extendedprice]
| | +-right_operand=Subtract
| | +-left_operand=Literal
| | | +-NumericLiteral[numeric_string=1,float_like=false]
| | +-right_operand=AttributeReference[attribute_name=l_discount]
| +-SelectListItem[alias=sum_charge]
| | +-FunctionCall[name=SUM]
| | +-Multiply
| | +-left_operand=Multiply
| | | +-left_operand=AttributeReference[attribute_name=l_extendedprice]
| | | +-right_operand=Subtract
| | | +-left_operand=Literal
| | | | +-NumericLiteral[numeric_string=1,float_like=false]
| | | +-right_operand=AttributeReference[attribute_name=l_discount]
| | +-right_operand=Add
| | +-left_operand=Literal
| | | +-NumericLiteral[numeric_string=1,float_like=false]
| | +-right_operand=AttributeReference[attribute_name=l_tax]
| +-SelectListItem[alias=avg_qty]
| | +-FunctionCall[name=AVG]
| | +-AttributeReference[attribute_name=l_quantity]
| +-SelectListItem[alias=avg_price]
| | +-FunctionCall[name=AVG]
| | +-AttributeReference[attribute_name=l_extendedprice]
| +-SelectListItem[alias=avg_disc]
| | +-FunctionCall[name=AVG]
| | +-AttributeReference[attribute_name=l_discount]
| +-SelectListItem[alias=count_order]
| +-FunctionCall[name=COUNT,is_star=true]
+-where_clause=LessOrEqual
| +-left_operand=AttributeReference[attribute_name=l_shipdate]
| +-right_operand=Subtract
| +-left_operand=Literal
| | +-StringLiteral[value=1998-12-01,explicit_type=Datetime]
| +-right_operand=Literal
| +-StringLiteral[value=96 day,explicit_type=DatetimeInterval]
+-group_by=GroupBy
| +-AttributeReference[attribute_name=l_returnflag]
| +-AttributeReference[attribute_name=l_linestatus]
+-order_by=OrderBy
| +-OrderByItem[is_asc=true,nulls_first=false]
| | +-AttributeReference[attribute_name=l_returnflag]
| +-OrderByItem[is_asc=true,nulls_first=false]
| +-AttributeReference[attribute_name=l_linestatus]
+-from_clause=
+-TableReference[table=lineitem]
==
# Query 2
SELECT
s_acctbal,
s_name,
n_name,
p_partkey,
p_mfgr,
s_address,
s_phone,
s_comment
FROM
part,
supplier,
partsupp,
nation,
region
WHERE
p_partkey = ps_partkey
AND s_suppkey = ps_suppkey
AND p_size = 48
AND p_type LIKE '%NICKEL'
AND s_nationkey = n_nationkey
AND n_regionkey = r_regionkey
AND r_name = 'ASIA'
AND ps_supplycost = (
SELECT
MIN(ps_supplycost)
FROM
partsupp,
supplier,
nation,
region
WHERE
p_partkey = ps_partkey
AND s_suppkey = ps_suppkey
AND s_nationkey = n_nationkey
AND n_regionkey = r_regionkey
AND r_name = 'ASIA'
)
ORDER BY
s_acctbal desc,
n_name,
s_name,
p_partkey
LIMIT 100
--
ERROR: syntax error (25 : 5)
SELECT
^
==
# Query 3
SELECT
l_orderkey,
SUM(l_extendedprice * (1 - l_discount)) AS revenue,
o_orderdate,
o_shippriority
FROM
customer,
orders,
lineitem
WHERE
c_mktsegment = 'AUTOMOBILE'
AND c_custkey = o_custkey
AND l_orderkey = o_orderkey
AND o_orderdate < DATE '1995-03-17'
AND l_shipdate > DATE '1995-03-17'
GROUP BY
l_orderkey,
o_orderdate,
o_shippriority
ORDER BY
revenue desc,
o_orderdate
LIMIT 10
--
SelectStatement
+-select_query=Select
+-select_clause=SelectList
| +-SelectListItem
| | +-AttributeReference[attribute_name=l_orderkey]
| +-SelectListItem[alias=revenue]
| | +-FunctionCall[name=SUM]
| | +-Multiply
| | +-left_operand=AttributeReference[attribute_name=l_extendedprice]
| | +-right_operand=Subtract
| | +-left_operand=Literal
| | | +-NumericLiteral[numeric_string=1,float_like=false]
| | +-right_operand=AttributeReference[attribute_name=l_discount]
| +-SelectListItem
| | +-AttributeReference[attribute_name=o_orderdate]
| +-SelectListItem
| +-AttributeReference[attribute_name=o_shippriority]
+-where_clause=And
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=c_mktsegment]
| | +-right_operand=Literal
| | +-StringLiteral[value=AUTOMOBILE]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=c_custkey]
| | +-right_operand=AttributeReference[attribute_name=o_custkey]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=l_orderkey]
| | +-right_operand=AttributeReference[attribute_name=o_orderkey]
| +-Less
| | +-left_operand=AttributeReference[attribute_name=o_orderdate]
| | +-right_operand=Literal
| | +-StringLiteral[value=1995-03-17,explicit_type=Datetime]
| +-Greater
| +-left_operand=AttributeReference[attribute_name=l_shipdate]
| +-right_operand=Literal
| +-StringLiteral[value=1995-03-17,explicit_type=Datetime]
+-group_by=GroupBy
| +-AttributeReference[attribute_name=l_orderkey]
| +-AttributeReference[attribute_name=o_orderdate]
| +-AttributeReference[attribute_name=o_shippriority]
+-order_by=OrderBy
| +-OrderByItem[is_asc=false,nulls_first=true]
| | +-AttributeReference[attribute_name=revenue]
| +-OrderByItem[is_asc=true,nulls_first=false]
| +-AttributeReference[attribute_name=o_orderdate]
+-limit=LIMIT
| +-NumericLiteral[numeric_string=10,float_like=false]
+-from_clause=
+-TableReference[table=customer]
+-TableReference[table=orders]
+-TableReference[table=lineitem]
==
# Query 4
SELECT
o_orderpriority,
COUNT(*) AS order_count
FROM
orders
WHERE
o_orderdate >= DATE '1995-08-01'
AND o_orderdate < DATE '1995-08-01' + INTERVAL '3 month'
AND EXISTS (
SELECT
*
FROM
lineitem
WHERE
l_orderkey = o_orderkey
AND l_commitdate < l_receiptdate
)
GROUP BY
o_orderpriority
ORDER BY
o_orderpriority
--
SelectStatement
+-select_query=Select
+-select_clause=SelectList
| +-SelectListItem
| | +-AttributeReference[attribute_name=o_orderpriority]
| +-SelectListItem[alias=order_count]
| +-FunctionCall[name=COUNT,is_star=true]
+-where_clause=And
| +-GreaterOrEqual
| | +-left_operand=AttributeReference[attribute_name=o_orderdate]
| | +-right_operand=Literal
| | +-StringLiteral[value=1995-08-01,explicit_type=Datetime]
| +-Less
| | +-left_operand=AttributeReference[attribute_name=o_orderdate]
| | +-right_operand=Add
| | +-left_operand=Literal
| | | +-StringLiteral[value=1995-08-01,explicit_type=Datetime]
| | +-right_operand=Literal
| | +-StringLiteral[value=3 month,explicit_type=YearMonthInterval]
| +-Exists
| +-subquery=SubqueryExpression
| +-Select
| +-select_clause=SelectStar
| +-where_clause=And
| | +-Equal
| | | +-left_operand=AttributeReference[attribute_name=l_orderkey]
| | | +-right_operand=AttributeReference[attribute_name=o_orderkey]
| | +-Less
| | +-left_operand=AttributeReference[attribute_name=l_commitdate]
| | +-right_operand=AttributeReference[attribute_name=l_receiptdate]
| +-from_clause=
| +-TableReference[table=lineitem]
+-group_by=GroupBy
| +-AttributeReference[attribute_name=o_orderpriority]
+-order_by=OrderBy
| +-OrderByItem[is_asc=true,nulls_first=false]
| +-AttributeReference[attribute_name=o_orderpriority]
+-from_clause=
+-TableReference[table=orders]
==
# Query 5
SELECT
n_name,
SUM(l_extendedprice * (1 - l_discount)) AS revenue
FROM
customer,
orders,
lineitem,
supplier,
nation,
region
WHERE
c_custkey = o_custkey
AND l_orderkey = o_orderkey
AND l_suppkey = s_suppkey
AND c_nationkey = s_nationkey
AND s_nationkey = n_nationkey
AND n_regionkey = r_regionkey
AND r_name = 'AMERICA'
AND o_orderdate >= DATE '1997-01-01'
AND o_orderdate < DATE '1997-01-01' + INTERVAL '1 year'
GROUP BY
n_name
ORDER BY
revenue DESC
--
SelectStatement
+-select_query=Select
+-select_clause=SelectList
| +-SelectListItem
| | +-AttributeReference[attribute_name=n_name]
| +-SelectListItem[alias=revenue]
| +-FunctionCall[name=SUM]
| +-Multiply
| +-left_operand=AttributeReference[attribute_name=l_extendedprice]
| +-right_operand=Subtract
| +-left_operand=Literal
| | +-NumericLiteral[numeric_string=1,float_like=false]
| +-right_operand=AttributeReference[attribute_name=l_discount]
+-where_clause=And
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=c_custkey]
| | +-right_operand=AttributeReference[attribute_name=o_custkey]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=l_orderkey]
| | +-right_operand=AttributeReference[attribute_name=o_orderkey]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=l_suppkey]
| | +-right_operand=AttributeReference[attribute_name=s_suppkey]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=c_nationkey]
| | +-right_operand=AttributeReference[attribute_name=s_nationkey]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=s_nationkey]
| | +-right_operand=AttributeReference[attribute_name=n_nationkey]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=n_regionkey]
| | +-right_operand=AttributeReference[attribute_name=r_regionkey]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=r_name]
| | +-right_operand=Literal
| | +-StringLiteral[value=AMERICA]
| +-GreaterOrEqual
| | +-left_operand=AttributeReference[attribute_name=o_orderdate]
| | +-right_operand=Literal
| | +-StringLiteral[value=1997-01-01,explicit_type=Datetime]
| +-Less
| +-left_operand=AttributeReference[attribute_name=o_orderdate]
| +-right_operand=Add
| +-left_operand=Literal
| | +-StringLiteral[value=1997-01-01,explicit_type=Datetime]
| +-right_operand=Literal
| +-StringLiteral[value=1 year,explicit_type=YearMonthInterval]
+-group_by=GroupBy
| +-AttributeReference[attribute_name=n_name]
+-order_by=OrderBy
| +-OrderByItem[is_asc=false,nulls_first=true]
| +-AttributeReference[attribute_name=revenue]
+-from_clause=
+-TableReference[table=customer]
+-TableReference[table=orders]
+-TableReference[table=lineitem]
+-TableReference[table=supplier]
+-TableReference[table=nation]
+-TableReference[table=region]
==
# Query 6
SELECT
SUM(l_extendedprice * l_discount) AS revenue
FROM
lineitem
WHERE
l_shipdate >= DATE '1997-01-01'
AND l_shipdate < DATE '1997-01-01' + INTERVAL '1 year'
AND l_discount BETWEEN 0.03 - 0.01 AND 0.03 + 0.01
AND l_quantity < 25
--
SelectStatement
+-select_query=Select
+-select_clause=SelectList
| +-SelectListItem[alias=revenue]
| +-FunctionCall[name=SUM]
| +-Multiply
| +-left_operand=AttributeReference[attribute_name=l_extendedprice]
| +-right_operand=AttributeReference[attribute_name=l_discount]
+-where_clause=And
| +-GreaterOrEqual
| | +-left_operand=AttributeReference[attribute_name=l_shipdate]
| | +-right_operand=Literal
| | +-StringLiteral[value=1997-01-01,explicit_type=Datetime]
| +-Less
| | +-left_operand=AttributeReference[attribute_name=l_shipdate]
| | +-right_operand=Add
| | +-left_operand=Literal
| | | +-StringLiteral[value=1997-01-01,explicit_type=Datetime]
| | +-right_operand=Literal
| | +-StringLiteral[value=1 year,explicit_type=YearMonthInterval]
| +-Between
| | +-check_operand=AttributeReference[attribute_name=l_discount]
| | +-lower_bound_operand=Subtract
| | | +-left_operand=Literal
| | | | +-NumericLiteral[numeric_string=0.03,float_like=true]
| | | +-right_operand=Literal
| | | +-NumericLiteral[numeric_string=0.01,float_like=true]
| | +-upper_bound_operand=Add
| | +-left_operand=Literal
| | | +-NumericLiteral[numeric_string=0.03,float_like=true]
| | +-right_operand=Literal
| | +-NumericLiteral[numeric_string=0.01,float_like=true]
| +-Less
| +-left_operand=AttributeReference[attribute_name=l_quantity]
| +-right_operand=Literal
| +-NumericLiteral[numeric_string=25,float_like=false]
+-from_clause=
+-TableReference[table=lineitem]
==
# Query 7
SELECT
supp_nation,
cust_nation,
l_year,
SUM(volume) AS revenue
FROM
(
SELECT
n1.n_name AS supp_nation,
n2.n_name AS cust_nation,
EXTRACT(year FROM l_shipdate) AS l_year,
l_extendedprice * (1 - l_discount) AS volume
FROM
supplier,
lineitem,
orders,
customer,
nation n1,
nation n2
WHERE
s_suppkey = l_suppkey
AND o_orderkey = l_orderkey
AND c_custkey = o_custkey
AND s_nationkey = n1.n_nationkey
AND c_nationkey = n2.n_nationkey
AND (
(n1.n_name = 'ETHIOPIA' AND n2.n_name = 'UNITED STATES')
OR (n1.n_name = 'UNITED STATES' AND n2.n_name = 'ETHIOPIA')
)
AND l_shipdate BETWEEN DATE '1995-01-01' AND DATE '1996-12-31'
) AS shipping
GROUP BY
supp_nation,
cust_nation,
l_year
ORDER BY
supp_nation,
cust_nation,
l_year
--
SelectStatement
+-select_query=Select
+-select_clause=SelectList
| +-SelectListItem
| | +-AttributeReference[attribute_name=supp_nation]
| +-SelectListItem
| | +-AttributeReference[attribute_name=cust_nation]
| +-SelectListItem
| | +-AttributeReference[attribute_name=l_year]
| +-SelectListItem[alias=revenue]
| +-FunctionCall[name=SUM]
| +-AttributeReference[attribute_name=volume]
+-group_by=GroupBy
| +-AttributeReference[attribute_name=supp_nation]
| +-AttributeReference[attribute_name=cust_nation]
| +-AttributeReference[attribute_name=l_year]
+-order_by=OrderBy
| +-OrderByItem[is_asc=true,nulls_first=false]
| | +-AttributeReference[attribute_name=supp_nation]
| +-OrderByItem[is_asc=true,nulls_first=false]
| | +-AttributeReference[attribute_name=cust_nation]
| +-OrderByItem[is_asc=true,nulls_first=false]
| +-AttributeReference[attribute_name=l_year]
+-from_clause=
+-SubqueryTable
+-table_signature=TableSignature[table_alias=shipping]
+-SubqueryExpression
+-Select
+-select_clause=SelectList
| +-SelectListItem[alias=supp_nation]
| | +-AttributeReference[attribute_name=n_name,relation_name=n1]
| +-SelectListItem[alias=cust_nation]
| | +-AttributeReference[attribute_name=n_name,relation_name=n2]
| +-SelectListItem[alias=l_year]
| | +-Extract[unit=year]
| | +-date_expression=AttributeReference[attribute_name=l_shipdate]
| +-SelectListItem[alias=volume]
| +-Multiply
| +-left_operand=AttributeReference[attribute_name=l_extendedprice]
| +-right_operand=Subtract
| +-left_operand=Literal
| | +-NumericLiteral[numeric_string=1,float_like=false]
| +-right_operand=AttributeReference[attribute_name=l_discount]
+-where_clause=And
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=s_suppkey]
| | +-right_operand=AttributeReference[attribute_name=l_suppkey]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=o_orderkey]
| | +-right_operand=AttributeReference[attribute_name=l_orderkey]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=c_custkey]
| | +-right_operand=AttributeReference[attribute_name=o_custkey]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=s_nationkey]
| | +-right_operand=AttributeReference[attribute_name=n_nationkey,
| | relation_name=n1]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=c_nationkey]
| | +-right_operand=AttributeReference[attribute_name=n_nationkey,
| | relation_name=n2]
| +-Or
| | +-And
| | | +-Equal
| | | | +-left_operand=AttributeReference[attribute_name=n_name,
| | | | | relation_name=n1]
| | | | +-right_operand=Literal
| | | | +-StringLiteral[value=ETHIOPIA]
| | | +-Equal
| | | +-left_operand=AttributeReference[attribute_name=n_name,
| | | | relation_name=n2]
| | | +-right_operand=Literal
| | | +-StringLiteral[value=UNITED STATES]
| | +-And
| | +-Equal
| | | +-left_operand=AttributeReference[attribute_name=n_name,
| | | | relation_name=n1]
| | | +-right_operand=Literal
| | | +-StringLiteral[value=UNITED STATES]
| | +-Equal
| | +-left_operand=AttributeReference[attribute_name=n_name,
| | | relation_name=n2]
| | +-right_operand=Literal
| | +-StringLiteral[value=ETHIOPIA]
| +-Between
| +-check_operand=AttributeReference[attribute_name=l_shipdate]
| +-lower_bound_operand=Literal
| | +-StringLiteral[value=1995-01-01,explicit_type=Datetime]
| +-upper_bound_operand=Literal
| +-StringLiteral[value=1996-12-31,explicit_type=Datetime]
+-from_clause=
+-TableReference[table=supplier]
+-TableReference[table=lineitem]
+-TableReference[table=orders]
+-TableReference[table=customer]
+-TableReference[table=nation]
| +-table_signature=TableSignature[table_alias=n1]
+-TableReference[table=nation]
+-table_signature=TableSignature[table_alias=n2]
==
# Query 8
SELECT
o_year,
SUM(CASE
WHEN nation = 'UNITED STATES' THEN volume
ELSE 0
END) / SUM(volume) AS mkt_share
FROM
(
SELECT
EXTRACT(year FROM o_orderdate) AS o_year,
l_extendedprice * (1 - l_discount) AS volume,
n2.n_name AS nation
FROM
part,
supplier,
lineitem,
orders,
customer,
nation n1,
nation n2,
region
WHERE
p_partkey = l_partkey
AND s_suppkey = l_suppkey
AND l_orderkey = o_orderkey
AND o_custkey = c_custkey
AND c_nationkey = n1.n_nationkey
AND n1.n_regionkey = r_regionkey
AND r_name = 'AMERICA'
AND s_nationkey = n2.n_nationkey
AND o_orderdate BETWEEN DATE '1995-01-01' AND DATE '1996-12-31'
AND p_type = 'MEDIUM ANODIZED NICKEL'
) AS all_nations
GROUP BY
o_year
ORDER BY
o_year
--
SelectStatement
+-select_query=Select
+-select_clause=SelectList
| +-SelectListItem
| | +-AttributeReference[attribute_name=o_year]
| +-SelectListItem[alias=mkt_share]
| +-Divide
| +-left_operand=FunctionCall[name=SUM]
| | +-SearchedCaseExpression
| | +-else_result_expression=Literal
| | | +-NumericLiteral[numeric_string=0,float_like=false]
| | +-when_clauses=
| | +-SearchedWhenClause
| | +-condition_predicate=Equal
| | | +-left_operand=AttributeReference[attribute_name=nation]
| | | +-right_operand=Literal
| | | +-StringLiteral[value=UNITED STATES]
| | +-result_expression=AttributeReference[attribute_name=volume]
| +-right_operand=FunctionCall[name=SUM]
| +-AttributeReference[attribute_name=volume]
+-group_by=GroupBy
| +-AttributeReference[attribute_name=o_year]
+-order_by=OrderBy
| +-OrderByItem[is_asc=true,nulls_first=false]
| +-AttributeReference[attribute_name=o_year]
+-from_clause=
+-SubqueryTable
+-table_signature=TableSignature[table_alias=all_nations]
+-SubqueryExpression
+-Select
+-select_clause=SelectList
| +-SelectListItem[alias=o_year]
| | +-Extract[unit=year]
| | +-date_expression=AttributeReference[attribute_name=o_orderdate]
| +-SelectListItem[alias=volume]
| | +-Multiply
| | +-left_operand=AttributeReference[attribute_name=l_extendedprice]
| | +-right_operand=Subtract
| | +-left_operand=Literal
| | | +-NumericLiteral[numeric_string=1,float_like=false]
| | +-right_operand=AttributeReference[attribute_name=l_discount]
| +-SelectListItem[alias=nation]
| +-AttributeReference[attribute_name=n_name,relation_name=n2]
+-where_clause=And
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=p_partkey]
| | +-right_operand=AttributeReference[attribute_name=l_partkey]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=s_suppkey]
| | +-right_operand=AttributeReference[attribute_name=l_suppkey]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=l_orderkey]
| | +-right_operand=AttributeReference[attribute_name=o_orderkey]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=o_custkey]
| | +-right_operand=AttributeReference[attribute_name=c_custkey]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=c_nationkey]
| | +-right_operand=AttributeReference[attribute_name=n_nationkey,
| | relation_name=n1]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=n_regionkey,
| | | relation_name=n1]
| | +-right_operand=AttributeReference[attribute_name=r_regionkey]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=r_name]
| | +-right_operand=Literal
| | +-StringLiteral[value=AMERICA]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=s_nationkey]
| | +-right_operand=AttributeReference[attribute_name=n_nationkey,
| | relation_name=n2]
| +-Between
| | +-check_operand=AttributeReference[attribute_name=o_orderdate]
| | +-lower_bound_operand=Literal
| | | +-StringLiteral[value=1995-01-01,explicit_type=Datetime]
| | +-upper_bound_operand=Literal
| | +-StringLiteral[value=1996-12-31,explicit_type=Datetime]
| +-Equal
| +-left_operand=AttributeReference[attribute_name=p_type]
| +-right_operand=Literal
| +-StringLiteral[value=MEDIUM ANODIZED NICKEL]
+-from_clause=
+-TableReference[table=part]
+-TableReference[table=supplier]
+-TableReference[table=lineitem]
+-TableReference[table=orders]
+-TableReference[table=customer]
+-TableReference[table=nation]
| +-table_signature=TableSignature[table_alias=n1]
+-TableReference[table=nation]
| +-table_signature=TableSignature[table_alias=n2]
+-TableReference[table=region]
==
# Query 9
SELECT
nation,
o_year,
SUM(amount) AS sum_profit
FROM
(
SELECT
n_name AS nation,
EXTRACT(year FROM o_orderdate) AS o_year,
l_extendedprice * (1 - l_discount) - ps_supplycost * l_quantity AS amount
FROM
part,
supplier,
lineitem,
partsupp,
orders,
nation
WHERE
s_suppkey = l_suppkey
AND ps_suppkey = l_suppkey
AND ps_partkey = l_partkey
AND p_partkey = l_partkey
AND o_orderkey = l_orderkey
AND s_nationkey = n_nationkey
AND p_name LIKE '%ghost%'
) AS profit
GROUP BY
nation,
o_year
ORDER BY
nation,
o_year DESC
--
SelectStatement
+-select_query=Select
+-select_clause=SelectList
| +-SelectListItem
| | +-AttributeReference[attribute_name=nation]
| +-SelectListItem
| | +-AttributeReference[attribute_name=o_year]
| +-SelectListItem[alias=sum_profit]
| +-FunctionCall[name=SUM]
| +-AttributeReference[attribute_name=amount]
+-group_by=GroupBy
| +-AttributeReference[attribute_name=nation]
| +-AttributeReference[attribute_name=o_year]
+-order_by=OrderBy
| +-OrderByItem[is_asc=true,nulls_first=false]
| | +-AttributeReference[attribute_name=nation]
| +-OrderByItem[is_asc=false,nulls_first=true]
| +-AttributeReference[attribute_name=o_year]
+-from_clause=
+-SubqueryTable
+-table_signature=TableSignature[table_alias=profit]
+-SubqueryExpression
+-Select
+-select_clause=SelectList
| +-SelectListItem[alias=nation]
| | +-AttributeReference[attribute_name=n_name]
| +-SelectListItem[alias=o_year]
| | +-Extract[unit=year]
| | +-date_expression=AttributeReference[attribute_name=o_orderdate]
| +-SelectListItem[alias=amount]
| +-Subtract
| +-left_operand=Multiply
| | +-left_operand=AttributeReference[
| | | attribute_name=l_extendedprice]
| | +-right_operand=Subtract
| | +-left_operand=Literal
| | | +-NumericLiteral[numeric_string=1,float_like=false]
| | +-right_operand=AttributeReference[attribute_name=l_discount]
| +-right_operand=Multiply
| +-left_operand=AttributeReference[attribute_name=ps_supplycost]
| +-right_operand=AttributeReference[attribute_name=l_quantity]
+-where_clause=And
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=s_suppkey]
| | +-right_operand=AttributeReference[attribute_name=l_suppkey]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=ps_suppkey]
| | +-right_operand=AttributeReference[attribute_name=l_suppkey]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=ps_partkey]
| | +-right_operand=AttributeReference[attribute_name=l_partkey]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=p_partkey]
| | +-right_operand=AttributeReference[attribute_name=l_partkey]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=o_orderkey]
| | +-right_operand=AttributeReference[attribute_name=l_orderkey]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=s_nationkey]
| | +-right_operand=AttributeReference[attribute_name=n_nationkey]
| +-Like
| +-left_operand=AttributeReference[attribute_name=p_name]
| +-right_operand=Literal
| +-StringLiteral[value=%ghost%]
+-from_clause=
+-TableReference[table=part]
+-TableReference[table=supplier]
+-TableReference[table=lineitem]
+-TableReference[table=partsupp]
+-TableReference[table=orders]
+-TableReference[table=nation]
==
# Query 10
SELECT
c_custkey,
c_name,
SUM(l_extendedprice * (1 - l_discount)) AS revenue,
c_acctbal,
n_name,
c_address,
c_phone,
c_comment
FROM
customer,
orders,
lineitem,
nation
WHERE
c_custkey = o_custkey
AND l_orderkey = o_orderkey
AND o_orderdate >= DATE '1994-03-01'
AND o_orderdate < DATE '1994-03-01' + INTERVAL '3 month'
AND l_returnflag = 'R'
AND c_nationkey = n_nationkey
GROUP BY
c_custkey,
c_name,
c_acctbal,
c_phone,
n_name,
c_address,
c_comment
ORDER BY
revenue DESC
LIMIT 20
--
SelectStatement
+-select_query=Select
+-select_clause=SelectList
| +-SelectListItem
| | +-AttributeReference[attribute_name=c_custkey]
| +-SelectListItem
| | +-AttributeReference[attribute_name=c_name]
| +-SelectListItem[alias=revenue]
| | +-FunctionCall[name=SUM]
| | +-Multiply
| | +-left_operand=AttributeReference[attribute_name=l_extendedprice]
| | +-right_operand=Subtract
| | +-left_operand=Literal
| | | +-NumericLiteral[numeric_string=1,float_like=false]
| | +-right_operand=AttributeReference[attribute_name=l_discount]
| +-SelectListItem
| | +-AttributeReference[attribute_name=c_acctbal]
| +-SelectListItem
| | +-AttributeReference[attribute_name=n_name]
| +-SelectListItem
| | +-AttributeReference[attribute_name=c_address]
| +-SelectListItem
| | +-AttributeReference[attribute_name=c_phone]
| +-SelectListItem
| +-AttributeReference[attribute_name=c_comment]
+-where_clause=And
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=c_custkey]
| | +-right_operand=AttributeReference[attribute_name=o_custkey]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=l_orderkey]
| | +-right_operand=AttributeReference[attribute_name=o_orderkey]
| +-GreaterOrEqual
| | +-left_operand=AttributeReference[attribute_name=o_orderdate]
| | +-right_operand=Literal
| | +-StringLiteral[value=1994-03-01,explicit_type=Datetime]
| +-Less
| | +-left_operand=AttributeReference[attribute_name=o_orderdate]
| | +-right_operand=Add
| | +-left_operand=Literal
| | | +-StringLiteral[value=1994-03-01,explicit_type=Datetime]
| | +-right_operand=Literal
| | +-StringLiteral[value=3 month,explicit_type=YearMonthInterval]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=l_returnflag]
| | +-right_operand=Literal
| | +-StringLiteral[value=R]
| +-Equal
| +-left_operand=AttributeReference[attribute_name=c_nationkey]
| +-right_operand=AttributeReference[attribute_name=n_nationkey]
+-group_by=GroupBy
| +-AttributeReference[attribute_name=c_custkey]
| +-AttributeReference[attribute_name=c_name]
| +-AttributeReference[attribute_name=c_acctbal]
| +-AttributeReference[attribute_name=c_phone]
| +-AttributeReference[attribute_name=n_name]
| +-AttributeReference[attribute_name=c_address]
| +-AttributeReference[attribute_name=c_comment]
+-order_by=OrderBy
| +-OrderByItem[is_asc=false,nulls_first=true]
| +-AttributeReference[attribute_name=revenue]
+-limit=LIMIT
| +-NumericLiteral[numeric_string=20,float_like=false]
+-from_clause=
+-TableReference[table=customer]
+-TableReference[table=orders]
+-TableReference[table=lineitem]
+-TableReference[table=nation]
==
# Query 11
SELECT
ps_partkey,
SUM(ps_supplycost * ps_availqty) AS value
FROM
partsupp,
supplier,
nation
WHERE
ps_suppkey = s_suppkey
AND s_nationkey = n_nationkey
AND n_name = 'INDONESIA'
GROUP BY
ps_partkey HAVING
SUM(ps_supplycost * ps_availqty) > (
SELECT
SUM(ps_supplycost * ps_availqty) * 0.0000010000
FROM
partsupp,
supplier,
nation
WHERE
ps_suppkey = s_suppkey
AND s_nationkey = n_nationkey
AND n_name = 'INDONESIA'
)
ORDER BY
value DESC
--
ERROR: syntax error (15 : 7)
SELECT
^
==
# Query 12
SELECT
l_shipmode,
SUM(CASE
WHEN o_orderpriority = '1-URGENT'
OR o_orderpriority = '2-HIGH'
THEN 1
ELSE 0
END) AS high_line_count,
SUM(CASE
WHEN o_orderpriority <> '1-URGENT'
AND o_orderpriority <> '2-HIGH'
THEN 1
ELSE 0
END) AS low_line_count
FROM
orders,
lineitem
WHERE
o_orderkey = l_orderkey
AND l_shipmode IN ('REG AIR', 'RAIL')
AND l_commitdate < l_receiptdate
AND l_shipdate < l_commitdate
AND l_receiptdate >= DATE '1997-01-01'
AND l_receiptdate < DATE '1997-01-01' + INTERVAL '1 year'
GROUP BY
l_shipmode
ORDER BY
l_shipmode
--
SelectStatement
+-select_query=Select
+-select_clause=SelectList
| +-SelectListItem
| | +-AttributeReference[attribute_name=l_shipmode]
| +-SelectListItem[alias=high_line_count]
| | +-FunctionCall[name=SUM]
| | +-SearchedCaseExpression
| | +-else_result_expression=Literal
| | | +-NumericLiteral[numeric_string=0,float_like=false]
| | +-when_clauses=
| | +-SearchedWhenClause
| | +-condition_predicate=Or
| | | +-Equal
| | | | +-left_operand=AttributeReference[
| | | | | attribute_name=o_orderpriority]
| | | | +-right_operand=Literal
| | | | +-StringLiteral[value=1-URGENT]
| | | +-Equal
| | | +-left_operand=AttributeReference[
| | | | attribute_name=o_orderpriority]
| | | +-right_operand=Literal
| | | +-StringLiteral[value=2-HIGH]
| | +-result_expression=Literal
| | +-NumericLiteral[numeric_string=1,float_like=false]
| +-SelectListItem[alias=low_line_count]
| +-FunctionCall[name=SUM]
| +-SearchedCaseExpression
| +-else_result_expression=Literal
| | +-NumericLiteral[numeric_string=0,float_like=false]
| +-when_clauses=
| +-SearchedWhenClause
| +-condition_predicate=And
| | +-NotEqual
| | | +-left_operand=AttributeReference[
| | | | attribute_name=o_orderpriority]
| | | +-right_operand=Literal
| | | +-StringLiteral[value=1-URGENT]
| | +-NotEqual
| | +-left_operand=AttributeReference[
| | | attribute_name=o_orderpriority]
| | +-right_operand=Literal
| | +-StringLiteral[value=2-HIGH]
| +-result_expression=Literal
| +-NumericLiteral[numeric_string=1,float_like=false]
+-where_clause=And
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=o_orderkey]
| | +-right_operand=AttributeReference[attribute_name=l_orderkey]
| +-InValueList
| | +-test_expression=AttributeReference[attribute_name=l_shipmode]
| | +-value_list=
| | +-Literal
| | | +-StringLiteral[value=REG AIR]
| | +-Literal
| | +-StringLiteral[value=RAIL]
| +-Less
| | +-left_operand=AttributeReference[attribute_name=l_commitdate]
| | +-right_operand=AttributeReference[attribute_name=l_receiptdate]
| +-Less
| | +-left_operand=AttributeReference[attribute_name=l_shipdate]
| | +-right_operand=AttributeReference[attribute_name=l_commitdate]
| +-GreaterOrEqual
| | +-left_operand=AttributeReference[attribute_name=l_receiptdate]
| | +-right_operand=Literal
| | +-StringLiteral[value=1997-01-01,explicit_type=Datetime]
| +-Less
| +-left_operand=AttributeReference[attribute_name=l_receiptdate]
| +-right_operand=Add
| +-left_operand=Literal
| | +-StringLiteral[value=1997-01-01,explicit_type=Datetime]
| +-right_operand=Literal
| +-StringLiteral[value=1 year,explicit_type=YearMonthInterval]
+-group_by=GroupBy
| +-AttributeReference[attribute_name=l_shipmode]
+-order_by=OrderBy
| +-OrderByItem[is_asc=true,nulls_first=false]
| +-AttributeReference[attribute_name=l_shipmode]
+-from_clause=
+-TableReference[table=orders]
+-TableReference[table=lineitem]
==
# Query 13
SELECT
c_count,
COUNT(*) AS custdist
FROM
(
SELECT
c_custkey,
COUNT(o_orderkey)
FROM
customer LEFT OUTER JOIN orders ON
c_custkey = o_custkey
AND o_comment NOT LIKE '%special%requests%'
GROUP BY
c_custkey
) AS c_orders (c_custkey, c_count)
GROUP BY
c_count
ORDER BY
custdist desc,
c_count DESC
--
SelectStatement
+-select_query=Select
+-select_clause=SelectList
| +-SelectListItem
| | +-AttributeReference[attribute_name=c_count]
| +-SelectListItem[alias=custdist]
| +-FunctionCall[name=COUNT,is_star=true]
+-group_by=GroupBy
| +-AttributeReference[attribute_name=c_count]
+-order_by=OrderBy
| +-OrderByItem[is_asc=false,nulls_first=true]
| | +-AttributeReference[attribute_name=custdist]
| +-OrderByItem[is_asc=false,nulls_first=true]
| +-AttributeReference[attribute_name=c_count]
+-from_clause=
+-SubqueryTable
+-table_signature=TableSignature[table_alias=c_orders,
| columns=(c_custkey, c_count)]
+-SubqueryExpression
+-Select
+-select_clause=SelectList
| +-SelectListItem
| | +-AttributeReference[attribute_name=c_custkey]
| +-SelectListItem
| +-FunctionCall[name=COUNT]
| +-AttributeReference[attribute_name=o_orderkey]
+-group_by=GroupBy
| +-AttributeReference[attribute_name=c_custkey]
+-from_clause=
+-JoinedTable[join_type=LeftOuterJoin]
+-left_table=TableReference[table=customer]
+-right_table=TableReference[table=orders]
+-join_predicate=And
+-Equal
| +-left_operand=AttributeReference[attribute_name=c_custkey]
| +-right_operand=AttributeReference[attribute_name=o_custkey]
+-NotLike
+-left_operand=AttributeReference[attribute_name=o_comment]
+-right_operand=Literal
+-StringLiteral[value=%special%requests%]
==
# Query 14
SELECT
100.00 * SUM(CASE
WHEN p_type LIKE 'PROMO%'
THEN l_extendedprice * (1 - l_discount)
ELSE 0
END) / SUM(l_extendedprice * (1 - l_discount)) AS promo_revenue
FROM
lineitem,
part
WHERE
l_partkey = p_partkey
AND l_shipdate >= DATE '1994-11-01'
AND l_shipdate < DATE '1994-11-01' + INTERVAL '1 month'
--
SelectStatement
+-select_query=Select
+-select_clause=SelectList
| +-SelectListItem[alias=promo_revenue]
| +-Divide
| +-left_operand=Multiply
| | +-left_operand=Literal
| | | +-NumericLiteral[numeric_string=100.00,float_like=true]
| | +-right_operand=FunctionCall[name=SUM]
| | +-SearchedCaseExpression
| | +-else_result_expression=Literal
| | | +-NumericLiteral[numeric_string=0,float_like=false]
| | +-when_clauses=
| | +-SearchedWhenClause
| | +-condition_predicate=Like
| | | +-left_operand=AttributeReference[attribute_name=p_type]
| | | +-right_operand=Literal
| | | +-StringLiteral[value=PROMO%]
| | +-result_expression=Multiply
| | +-left_operand=AttributeReference[
| | | attribute_name=l_extendedprice]
| | +-right_operand=Subtract
| | +-left_operand=Literal
| | | +-NumericLiteral[numeric_string=1,float_like=false]
| | +-right_operand=AttributeReference[
| | attribute_name=l_discount]
| +-right_operand=FunctionCall[name=SUM]
| +-Multiply
| +-left_operand=AttributeReference[attribute_name=l_extendedprice]
| +-right_operand=Subtract
| +-left_operand=Literal
| | +-NumericLiteral[numeric_string=1,float_like=false]
| +-right_operand=AttributeReference[attribute_name=l_discount]
+-where_clause=And
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=l_partkey]
| | +-right_operand=AttributeReference[attribute_name=p_partkey]
| +-GreaterOrEqual
| | +-left_operand=AttributeReference[attribute_name=l_shipdate]
| | +-right_operand=Literal
| | +-StringLiteral[value=1994-11-01,explicit_type=Datetime]
| +-Less
| +-left_operand=AttributeReference[attribute_name=l_shipdate]
| +-right_operand=Add
| +-left_operand=Literal
| | +-StringLiteral[value=1994-11-01,explicit_type=Datetime]
| +-right_operand=Literal
| +-StringLiteral[value=1 month,explicit_type=YearMonthInterval]
+-from_clause=
+-TableReference[table=lineitem]
+-TableReference[table=part]
==
# Query 15
WITH revenue (supplier_no, total_revenue) AS (
SELECT
l_suppkey,
sum(l_extendedprice * (1-l_discount))
FROM
lineitem
WHERE
l_shipdate >= DATE '1996-11-01'
AND l_shipdate < DATE '1996-11-01' + INTERVAL '3 month'
GROUP BY
l_suppkey
) SELECT
s_suppkey,
s_name,
s_address,
s_phone,
total_revenue
FROM
supplier,
revenue
WHERE
s_suppkey = supplier_no AND total_revenue = (
SELECT
MAX(total_revenue)
FROM
revenue
)
ORDER BY
s_suppkey
--
ERROR: syntax error (23 : 1)
SELECT
^
==
# Query 16
SELECT
p_brand,
p_type,
p_size,
COUNT(distinct ps_suppkey) AS supplier_cnt
FROM
partsupp,
part
WHERE
p_partkey = ps_partkey
AND p_brand <> 'Brand#22'
AND p_type NOT LIKE 'ECONOMY BURNISHED%'
AND p_size IN (32, 42, 9, 18, 50, 30, 12, 21)
AND ps_suppkey NOT IN (
SELECT
s_suppkey
FROM
supplier
WHERE
s_comment LIKE '%Customer%Complaints%'
)
GROUP BY
p_brand,
p_type,
p_size
ORDER BY
supplier_cnt DESC,
p_brand,
p_type,
p_size
--
SelectStatement
+-select_query=Select
+-select_clause=SelectList
| +-SelectListItem
| | +-AttributeReference[attribute_name=p_brand]
| +-SelectListItem
| | +-AttributeReference[attribute_name=p_type]
| +-SelectListItem
| | +-AttributeReference[attribute_name=p_size]
| +-SelectListItem[alias=supplier_cnt]
| +-FunctionCall[name=COUNT,is_distinct=true]
| +-AttributeReference[attribute_name=ps_suppkey]
+-where_clause=And
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=p_partkey]
| | +-right_operand=AttributeReference[attribute_name=ps_partkey]
| +-NotEqual
| | +-left_operand=AttributeReference[attribute_name=p_brand]
| | +-right_operand=Literal
| | +-StringLiteral[value=Brand#22]
| +-NotLike
| | +-left_operand=AttributeReference[attribute_name=p_type]
| | +-right_operand=Literal
| | +-StringLiteral[value=ECONOMY BURNISHED%]
| +-InValueList
| | +-test_expression=AttributeReference[attribute_name=p_size]
| | +-value_list=
| | +-Literal
| | | +-NumericLiteral[numeric_string=32,float_like=false]
| | +-Literal
| | | +-NumericLiteral[numeric_string=42,float_like=false]
| | +-Literal
| | | +-NumericLiteral[numeric_string=9,float_like=false]
| | +-Literal
| | | +-NumericLiteral[numeric_string=18,float_like=false]
| | +-Literal
| | | +-NumericLiteral[numeric_string=50,float_like=false]
| | +-Literal
| | | +-NumericLiteral[numeric_string=30,float_like=false]
| | +-Literal
| | | +-NumericLiteral[numeric_string=12,float_like=false]
| | +-Literal
| | +-NumericLiteral[numeric_string=21,float_like=false]
| +-Not
| +-InTableQuery
| +-test_expression=AttributeReference[attribute_name=ps_suppkey]
| +-table_query=SubqueryExpression
| +-Select
| +-select_clause=SelectList
| | +-SelectListItem
| | +-AttributeReference[attribute_name=s_suppkey]
| +-where_clause=Like
| | +-left_operand=AttributeReference[attribute_name=s_comment]
| | +-right_operand=Literal
| | +-StringLiteral[value=%Customer%Complaints%]
| +-from_clause=
| +-TableReference[table=supplier]
+-group_by=GroupBy
| +-AttributeReference[attribute_name=p_brand]
| +-AttributeReference[attribute_name=p_type]
| +-AttributeReference[attribute_name=p_size]
+-order_by=OrderBy
| +-OrderByItem[is_asc=false,nulls_first=true]
| | +-AttributeReference[attribute_name=supplier_cnt]
| +-OrderByItem[is_asc=true,nulls_first=false]
| | +-AttributeReference[attribute_name=p_brand]
| +-OrderByItem[is_asc=true,nulls_first=false]
| | +-AttributeReference[attribute_name=p_type]
| +-OrderByItem[is_asc=true,nulls_first=false]
| +-AttributeReference[attribute_name=p_size]
+-from_clause=
+-TableReference[table=partsupp]
+-TableReference[table=part]
==
# Query 17
SELECT
SUM(l_extendedprice) / 7.0 AS avg_yearly
FROM
lineitem,
part
WHERE
p_partkey = l_partkey
AND p_brand = 'Brand#24'
AND p_container = 'JUMBO BOX'
AND l_quantity < (
SELECT
0.2 * AVG(l_quantity)
FROM
lineitem
WHERE
l_partkey = p_partkey
)
--
ERROR: syntax error (11 : 5)
SELECT
^
==
# Query 18
SELECT
c_name,
c_custkey,
o_orderkey,
o_orderdate,
o_totalprice,
sum(l_quantity)
FROM
customer,
orders,
lineitem
WHERE
o_orderkey IN (
SELECT
l_orderkey
FROM
lineitem
GROUP BY
l_orderkey HAVING
SUM(l_quantity) > 314
)
AND c_custkey = o_custkey
AND o_orderkey = l_orderkey
GROUP BY
c_name,
c_custkey,
o_orderkey,
o_orderdate,
o_totalprice
ORDER BY
o_totalprice desc,
o_orderdate
LIMIT 100
--
SelectStatement
+-select_query=Select
+-select_clause=SelectList
| +-SelectListItem
| | +-AttributeReference[attribute_name=c_name]
| +-SelectListItem
| | +-AttributeReference[attribute_name=c_custkey]
| +-SelectListItem
| | +-AttributeReference[attribute_name=o_orderkey]
| +-SelectListItem
| | +-AttributeReference[attribute_name=o_orderdate]
| +-SelectListItem
| | +-AttributeReference[attribute_name=o_totalprice]
| +-SelectListItem
| +-FunctionCall[name=sum]
| +-AttributeReference[attribute_name=l_quantity]
+-where_clause=And
| +-InTableQuery
| | +-test_expression=AttributeReference[attribute_name=o_orderkey]
| | +-table_query=SubqueryExpression
| | +-Select
| | +-select_clause=SelectList
| | | +-SelectListItem
| | | +-AttributeReference[attribute_name=l_orderkey]
| | +-group_by=GroupBy
| | | +-AttributeReference[attribute_name=l_orderkey]
| | +-having=HAVING
| | | +-Greater
| | | +-left_operand=FunctionCall[name=SUM]
| | | | +-AttributeReference[attribute_name=l_quantity]
| | | +-right_operand=Literal
| | | +-NumericLiteral[numeric_string=314,float_like=false]
| | +-from_clause=
| | +-TableReference[table=lineitem]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=c_custkey]
| | +-right_operand=AttributeReference[attribute_name=o_custkey]
| +-Equal
| +-left_operand=AttributeReference[attribute_name=o_orderkey]
| +-right_operand=AttributeReference[attribute_name=l_orderkey]
+-group_by=GroupBy
| +-AttributeReference[attribute_name=c_name]
| +-AttributeReference[attribute_name=c_custkey]
| +-AttributeReference[attribute_name=o_orderkey]
| +-AttributeReference[attribute_name=o_orderdate]
| +-AttributeReference[attribute_name=o_totalprice]
+-order_by=OrderBy
| +-OrderByItem[is_asc=false,nulls_first=true]
| | +-AttributeReference[attribute_name=o_totalprice]
| +-OrderByItem[is_asc=true,nulls_first=false]
| +-AttributeReference[attribute_name=o_orderdate]
+-limit=LIMIT
| +-NumericLiteral[numeric_string=100,float_like=false]
+-from_clause=
+-TableReference[table=customer]
+-TableReference[table=orders]
+-TableReference[table=lineitem]
==
# Query 19
SELECT
SUM(l_extendedprice* (1 - l_discount)) AS revenue
FROM
lineitem,
part
WHERE
(
p_partkey = l_partkey
AND p_brand = 'Brand#45'
AND p_container IN ('SM CASE', 'SM BOX', 'SM PACK', 'SM PKG')
AND l_quantity >= 2 AND l_quantity <= 2 + 10
AND p_size BETWEEN 1 AND 5
AND l_shipmode IN ('AIR', 'AIR REG')
AND l_shipinstruct = 'DELIVER IN PERSON'
)
OR
(
p_partkey = l_partkey
AND p_brand = 'Brand#12'
AND p_container IN ('MED BAG', 'MED BOX', 'MED PKG', 'MED PACK')
AND l_quantity >= 13 AND l_quantity <= 13 + 10
AND p_size BETWEEN 1 AND 10
AND l_shipmode IN ('AIR', 'AIR REG')
AND l_shipinstruct = 'DELIVER IN PERSON'
)
OR
(
p_partkey = l_partkey
AND p_brand = 'Brand#53'
AND p_container IN ('LG CASE', 'LG BOX', 'LG PACK', 'LG PKG')
AND l_quantity >= 24 AND l_quantity <= 24 + 10
AND p_size BETWEEN 1 AND 15
AND l_shipmode IN ('AIR', 'AIR REG')
AND l_shipinstruct = 'DELIVER IN PERSON'
)
--
SelectStatement
+-select_query=Select
+-select_clause=SelectList
| +-SelectListItem[alias=revenue]
| +-FunctionCall[name=SUM]
| +-Multiply
| +-left_operand=AttributeReference[attribute_name=l_extendedprice]
| +-right_operand=Subtract
| +-left_operand=Literal
| | +-NumericLiteral[numeric_string=1,float_like=false]
| +-right_operand=AttributeReference[attribute_name=l_discount]
+-where_clause=Or
| +-And
| | +-Equal
| | | +-left_operand=AttributeReference[attribute_name=p_partkey]
| | | +-right_operand=AttributeReference[attribute_name=l_partkey]
| | +-Equal
| | | +-left_operand=AttributeReference[attribute_name=p_brand]
| | | +-right_operand=Literal
| | | +-StringLiteral[value=Brand#45]
| | +-InValueList
| | | +-test_expression=AttributeReference[attribute_name=p_container]
| | | +-value_list=
| | | +-Literal
| | | | +-StringLiteral[value=SM CASE]
| | | +-Literal
| | | | +-StringLiteral[value=SM BOX]
| | | +-Literal
| | | | +-StringLiteral[value=SM PACK]
| | | +-Literal
| | | +-StringLiteral[value=SM PKG]
| | +-GreaterOrEqual
| | | +-left_operand=AttributeReference[attribute_name=l_quantity]
| | | +-right_operand=Literal
| | | +-NumericLiteral[numeric_string=2,float_like=false]
| | +-LessOrEqual
| | | +-left_operand=AttributeReference[attribute_name=l_quantity]
| | | +-right_operand=Add
| | | +-left_operand=Literal
| | | | +-NumericLiteral[numeric_string=2,float_like=false]
| | | +-right_operand=Literal
| | | +-NumericLiteral[numeric_string=10,float_like=false]
| | +-Between
| | | +-check_operand=AttributeReference[attribute_name=p_size]
| | | +-lower_bound_operand=Literal
| | | | +-NumericLiteral[numeric_string=1,float_like=false]
| | | +-upper_bound_operand=Literal
| | | +-NumericLiteral[numeric_string=5,float_like=false]
| | +-InValueList
| | | +-test_expression=AttributeReference[attribute_name=l_shipmode]
| | | +-value_list=
| | | +-Literal
| | | | +-StringLiteral[value=AIR]
| | | +-Literal
| | | +-StringLiteral[value=AIR REG]
| | +-Equal
| | +-left_operand=AttributeReference[attribute_name=l_shipinstruct]
| | +-right_operand=Literal
| | +-StringLiteral[value=DELIVER IN PERSON]
| +-And
| | +-Equal
| | | +-left_operand=AttributeReference[attribute_name=p_partkey]
| | | +-right_operand=AttributeReference[attribute_name=l_partkey]
| | +-Equal
| | | +-left_operand=AttributeReference[attribute_name=p_brand]
| | | +-right_operand=Literal
| | | +-StringLiteral[value=Brand#12]
| | +-InValueList
| | | +-test_expression=AttributeReference[attribute_name=p_container]
| | | +-value_list=
| | | +-Literal
| | | | +-StringLiteral[value=MED BAG]
| | | +-Literal
| | | | +-StringLiteral[value=MED BOX]
| | | +-Literal
| | | | +-StringLiteral[value=MED PKG]
| | | +-Literal
| | | +-StringLiteral[value=MED PACK]
| | +-GreaterOrEqual
| | | +-left_operand=AttributeReference[attribute_name=l_quantity]
| | | +-right_operand=Literal
| | | +-NumericLiteral[numeric_string=13,float_like=false]
| | +-LessOrEqual
| | | +-left_operand=AttributeReference[attribute_name=l_quantity]
| | | +-right_operand=Add
| | | +-left_operand=Literal
| | | | +-NumericLiteral[numeric_string=13,float_like=false]
| | | +-right_operand=Literal
| | | +-NumericLiteral[numeric_string=10,float_like=false]
| | +-Between
| | | +-check_operand=AttributeReference[attribute_name=p_size]
| | | +-lower_bound_operand=Literal
| | | | +-NumericLiteral[numeric_string=1,float_like=false]
| | | +-upper_bound_operand=Literal
| | | +-NumericLiteral[numeric_string=10,float_like=false]
| | +-InValueList
| | | +-test_expression=AttributeReference[attribute_name=l_shipmode]
| | | +-value_list=
| | | +-Literal
| | | | +-StringLiteral[value=AIR]
| | | +-Literal
| | | +-StringLiteral[value=AIR REG]
| | +-Equal
| | +-left_operand=AttributeReference[attribute_name=l_shipinstruct]
| | +-right_operand=Literal
| | +-StringLiteral[value=DELIVER IN PERSON]
| +-And
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=p_partkey]
| | +-right_operand=AttributeReference[attribute_name=l_partkey]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=p_brand]
| | +-right_operand=Literal
| | +-StringLiteral[value=Brand#53]
| +-InValueList
| | +-test_expression=AttributeReference[attribute_name=p_container]
| | +-value_list=
| | +-Literal
| | | +-StringLiteral[value=LG CASE]
| | +-Literal
| | | +-StringLiteral[value=LG BOX]
| | +-Literal
| | | +-StringLiteral[value=LG PACK]
| | +-Literal
| | +-StringLiteral[value=LG PKG]
| +-GreaterOrEqual
| | +-left_operand=AttributeReference[attribute_name=l_quantity]
| | +-right_operand=Literal
| | +-NumericLiteral[numeric_string=24,float_like=false]
| +-LessOrEqual
| | +-left_operand=AttributeReference[attribute_name=l_quantity]
| | +-right_operand=Add
| | +-left_operand=Literal
| | | +-NumericLiteral[numeric_string=24,float_like=false]
| | +-right_operand=Literal
| | +-NumericLiteral[numeric_string=10,float_like=false]
| +-Between
| | +-check_operand=AttributeReference[attribute_name=p_size]
| | +-lower_bound_operand=Literal
| | | +-NumericLiteral[numeric_string=1,float_like=false]
| | +-upper_bound_operand=Literal
| | +-NumericLiteral[numeric_string=15,float_like=false]
| +-InValueList
| | +-test_expression=AttributeReference[attribute_name=l_shipmode]
| | +-value_list=
| | +-Literal
| | | +-StringLiteral[value=AIR]
| | +-Literal
| | +-StringLiteral[value=AIR REG]
| +-Equal
| +-left_operand=AttributeReference[attribute_name=l_shipinstruct]
| +-right_operand=Literal
| +-StringLiteral[value=DELIVER IN PERSON]
+-from_clause=
+-TableReference[table=lineitem]
+-TableReference[table=part]
==
# Query 20
SELECT
s_name,
s_address
FROM
supplier,
nation
WHERE
s_suppkey IN (
SELECT
ps_suppkey
FROM
partsupp
WHERE
ps_partkey IN (
SELECT
p_partkey
FROM
part
WHERE
p_name LIKE 'sandy%'
)
AND ps_availqty > (
SELECT
0.5 * SUM(l_quantity)
FROM
lineitem
WHERE
l_partkey = ps_partkey
AND l_suppkey = ps_suppkey
AND l_shipdate >= DATE '1993-01-01'
AND l_shipdate < DATE '1993-01-01' + INTERVAL '1 year'
)
)
AND s_nationkey = n_nationkey
AND n_name = 'GERMANY'
ORDER BY
s_name
--
ERROR: syntax error (23 : 9)
SELECT
^
==
# Query 21
SELECT
s_name,
count(*) AS numwait
FROM
supplier,
lineitem l1,
orders,
nation
WHERE
s_suppkey = l1.l_suppkey
AND o_orderkey = l1.l_orderkey
AND o_orderstatus = 'F'
AND l1.l_receiptdate > l1.l_commitdate
AND EXISTS (
SELECT
*
FROM
lineitem l2
WHERE
l2.l_orderkey = l1.l_orderkey
AND l2.l_suppkey <> l1.l_suppkey
)
AND NOT EXISTS (
SELECT
*
FROM
lineitem l3
WHERE
l3.l_orderkey = l1.l_orderkey
AND l3.l_suppkey <> l1.l_suppkey
AND l3.l_receiptdate > l3.l_commitdate
)
AND s_nationkey = n_nationkey
AND n_name = 'CANADA'
GROUP BY
s_name
ORDER BY
numwait desc,
s_name
LIMIT 100
--
SelectStatement
+-select_query=Select
+-select_clause=SelectList
| +-SelectListItem
| | +-AttributeReference[attribute_name=s_name]
| +-SelectListItem[alias=numwait]
| +-FunctionCall[name=count,is_star=true]
+-where_clause=And
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=s_suppkey]
| | +-right_operand=AttributeReference[attribute_name=l_suppkey,
| | relation_name=l1]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=o_orderkey]
| | +-right_operand=AttributeReference[attribute_name=l_orderkey,
| | relation_name=l1]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=o_orderstatus]
| | +-right_operand=Literal
| | +-StringLiteral[value=F]
| +-Greater
| | +-left_operand=AttributeReference[attribute_name=l_receiptdate,
| | | relation_name=l1]
| | +-right_operand=AttributeReference[attribute_name=l_commitdate,
| | relation_name=l1]
| +-Exists
| | +-subquery=SubqueryExpression
| | +-Select
| | +-select_clause=SelectStar
| | +-where_clause=And
| | | +-Equal
| | | | +-left_operand=AttributeReference[attribute_name=l_orderkey,
| | | | | relation_name=l2]
| | | | +-right_operand=AttributeReference[attribute_name=l_orderkey,
| | | | relation_name=l1]
| | | +-NotEqual
| | | +-left_operand=AttributeReference[attribute_name=l_suppkey,
| | | | relation_name=l2]
| | | +-right_operand=AttributeReference[attribute_name=l_suppkey,
| | | relation_name=l1]
| | +-from_clause=
| | +-TableReference[table=lineitem]
| | +-table_signature=TableSignature[table_alias=l2]
| +-Not
| | +-Exists
| | +-subquery=SubqueryExpression
| | +-Select
| | +-select_clause=SelectStar
| | +-where_clause=And
| | | +-Equal
| | | | +-left_operand=AttributeReference[attribute_name=l_orderkey,
| | | | | relation_name=l3]
| | | | +-right_operand=AttributeReference[attribute_name=l_orderkey,
| | | | relation_name=l1]
| | | +-NotEqual
| | | | +-left_operand=AttributeReference[attribute_name=l_suppkey,
| | | | | relation_name=l3]
| | | | +-right_operand=AttributeReference[attribute_name=l_suppkey,
| | | | relation_name=l1]
| | | +-Greater
| | | +-left_operand=AttributeReference[attribute_name=l_receiptdate,
| | | | relation_name=l3]
| | | +-right_operand=AttributeReference[attribute_name=l_commitdate,
| | | relation_name=l3]
| | +-from_clause=
| | +-TableReference[table=lineitem]
| | +-table_signature=TableSignature[table_alias=l3]
| +-Equal
| | +-left_operand=AttributeReference[attribute_name=s_nationkey]
| | +-right_operand=AttributeReference[attribute_name=n_nationkey]
| +-Equal
| +-left_operand=AttributeReference[attribute_name=n_name]
| +-right_operand=Literal
| +-StringLiteral[value=CANADA]
+-group_by=GroupBy
| +-AttributeReference[attribute_name=s_name]
+-order_by=OrderBy
| +-OrderByItem[is_asc=false,nulls_first=true]
| | +-AttributeReference[attribute_name=numwait]
| +-OrderByItem[is_asc=true,nulls_first=false]
| +-AttributeReference[attribute_name=s_name]
+-limit=LIMIT
| +-NumericLiteral[numeric_string=100,float_like=false]
+-from_clause=
+-TableReference[table=supplier]
+-TableReference[table=lineitem]
| +-table_signature=TableSignature[table_alias=l1]
+-TableReference[table=orders]
+-TableReference[table=nation]
==
# Query 22
SELECT
cntrycode,
COUNT(*) AS numcust,
SUM(c_acctbal) AS totacctbal
FROM
(
SELECT
SUBSTR(c_phone, 1, 2) AS cntrycode,
c_acctbal
FROM
customer
WHERE
SUBSTR(c_phone, 1, 2) IN
('27', '44', '34', '25', '30', '33', '23')
AND c_acctbal > (
SELECT
AVG(c_acctbal)
FROM
customer
WHERE
c_acctbal > 0.00
AND SUBSTR(c_phone, 1, 2) IN
('27', '44', '34', '25', '30', '33', '23')
)
AND NOT EXISTS (
SELECT *
FROM
orders
WHERE
o_custkey = c_custkey
)
) AS custsale
GROUP BY
cntrycode
ORDER BY
cntrycode
--
ERROR: syntax error (16 : 9)
SELECT
^