第十二章 联结表

第十二章 联结表

为什么要用联结表?

1. 每个表应该内容应该相互独立,方便修改以及扩展

2. 通过联结查看两个表的混合数据

1. 创建联结

select vend_name,prod_name,prod_price from vendors,products where vendors.vend_id = products.vend_id;

 

在进行联结的过程中,就是将第一表中的每行数据与第二个表的每行元素进行配对,where语句只匹配符合条件的行

 笛卡尔积--就是将第一个表的行数将第二个表的行数相乘

2. 内部联结(推荐使用)

select vend_name,prod_name,prod_price from vendors INNER JOIN products on vendors.vend_id = products.vend_id;

 

3. 联结多个表

select prod_name,vend_name,prod_price,quantity from vendors,products,orderitems where vendors.vend_id = products.vend_id and products.prod_id = orderitems.prod_id and order_num = 20005;

 

这个数据展示了订单号为20005中的产品,同时根据产品的生产商查询生厂商的信息

SELECT cust_name, cust_contact
FROM customers
WHERE customers.cust_id = (
    SELECT cust_id
    FROM orders
    WHERE order_num = (
        SELECT order_num
        FROM orderitems
        WHERE prod_id = 'ANV01'
    )
);

 

转载于:https://www.cnblogs.com/zhangchiblog/p/9163836.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值