实例
电商系统
设某电子商务公司的的数据库中有下列四张表(其中有下划线的属性为主码): Customers(Cno,Cname,Csex,Cage,Caddress,Mphone,Email) 分别为客户编号,客户姓名,客户性别,客户年龄,客户地址 Goods(Gno,Gname,Gtype,Price,manufac) 分别为商品编号,商品名称,商品类别,价格,生产商 Sells(Sno,Sdate,Saddress,Cno,IsPay) 分别为销售单号,销售日期,送货地址,客户编号,是否已付款。 客户付款前IsPay取值为‘N’,付款后IsPay取值为‘Y Detail(Sno,Gno,Quantity) 分别为销售单号,商品编号,数量。
需求
之一
找出每位客户的编号、姓名、手机号以及他每次购物的日期和是否已付款信息,即使该客户没有购买过商品,也要有他的编号、姓名和手机号。
解析
最终的查询结果表应该是这样的:
Cno Cname Mpjone Sdate IsPay
1 张三 13912345678 2023-03-01 Y
1 张三 13912345678 2023-03-15 N
2 李四 15887654321 NULL NULL
3 王五 13666666666 2023-03-10 Y
你可以看到,张三有两次购物记录,一次已付款,一次未付款;李四没有购买过商品,所以他的日期和是否已付款信息显示为NULL;王五有一次购物记录,并且已付款。