Menu
CoddyTech

合并所有产品

本课属于 Coddy SQL 学习旅程的“基础知识”单元。第 55 课,共 72 课。

challenge icon

挑战

中等

可用的表和列:

  • enom_gilpane: part_id, rpm, watt, size
  • castle_loctus: part_id, rpm, watt, size
  • honpan_bilopsa: part_id, rpm, watt, size
  • yurnol_qoltam: part_id, rpm, watt, size

现在计算所有产品相同的质量分数(每张表代表一个产品),并使用 UNION ALL 将它们合并:

quality_table as (
    SELECT * FROM filtered_quality_1
    UNION ALL
    SELECT * FROM filtered_quality_2
    UNION ALL 
    SELECT * FROM filtered_quality_3
    UNION ALL 
    SELECT * FROM filtered_quality_4
)

返回 part_id 和 quality

亲手试试

-- 第一个产品的数据块已为你完成,沿用上一课的内容
WITH filtered_enom_gilpane_quality as (
    WITH enom_gilpane_quality as (
        SELECT part_id, ((rpm * watt) / size) as quality
        FROM (
            SELECT part_id, rpm, watt + (select avg(watt) from enom_gilpane) as watt, size
            FROM enom_gilpane
        )
    )

    SELECT *
    FROM enom_gilpane_quality
    WHERE quality > (select avg(quality) from enom_gilpane_quality)
),
-- 为下面的三个产品表分别构建相同的数据块
filtered_castle_loctus_quality as (
    ____
),
filtered_honpan_bilopsa_quality as (
    ____
),
filtered_yurnol_qoltam_quality as (
    ____
),
-- 将四个数据块依次合并,保留所有行
quality_table as (
    SELECT * FROM filtered_enom_gilpane_quality
    ____
)

SELECT ____
FROM quality_table

基础知识中的所有课

自己练习: SQL 在线编辑器