sql练习

联结:同的数据出现多次决不是一件好事,这是关系数据库设计的基础。关系表的设计就是要把信息分解成多个表,一类数据一个表。各表通过某些共同的值互相关联(所以才叫关系数据库)。 例:有同一供应商生产的多种物品,那么在何处存储供应商名、地址、联系方法等供应商信息呢?在这个例子中可建立两个表:一个存储供应商信息,另一个存储产品信息。Vendors表包含所有供应商信息,每个供应商占一行,具有唯一的标识。此标识称为主键(primary key),可以是供应商ID或任何其他唯一值。

练习联结:返回顾客名称和相关订单号以及每个订单的总价

        除了返回顾客名称和订单号,返回 Customers 表中的顾客名称(cust_name)和Orders 表中的相关订单号(order_num),添加第三列 OrderTotal,其中包含每个订单的总价,并按顾客名称再按订单号对结果进行升序排序。

select
    c.cust_name,
    o.order_num,
    sum(os.quantity * os.item_price) as OrderTotal
from
    Customers c,
    Orders o,
    OrderItems os
where
    c.cust_id = o.cust_id
    and o.order_num = os.order_num
group by
    cust_name,
    order_num
order by
    cust_name,
    order_num;

你可能感兴趣的:(MySQL,sql,数据库)