【SQL】(十二):联结表(join)

2020-07-14  本文已影响0人  Lottie2017

本系列为自己学习时的笔记及心得体会,转载请注明出处。

为了使得数据库可伸缩性好,我们将数据分解为多个表存储。但这样可能导致检索较麻烦,我们可以使用联结(join),用来在一条SELECT语句中关联表。

1、创建联结


select vend_name,prod_name,prod_price

FROM Vendors,Products

WHERE Vendors.vend_id=products.vend_id


如上语句,通过vend_id将vendors表和products表联结。where子句作为过滤条件,将第一个表中的每一行与第二个表中的每一行配对。

2、内联结

上述的SQL也可通过 JOIN 来筛选:


select vend_name,prod_name,prod_price

FROM Vendors INNER  JOIN Products

ON Vendors.vend_id=products.vend_id


3、联结多个表

SQL不限制一条SELECT联结多个表。如:


select vend_name,prod_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 = 2020


回到上一篇中的例子“列出订购物品 RGAN01的所有顾客”,可使用联结将SQL写为:

上一篇下一篇

猜你喜欢

热点阅读