-
创建联结
select vend_name,prod_name,prod_price
from vendors,products
where vendors.vend_id=products.vend_id;
select语句与前面所有语句一样指定要检索的列。这里最大的区别是指定的两列(prod_name和prod_price)在一个表中,而第三列在(vend_name)在另一个表中。
而from子句列出了两个表vendors,products,这是要联结的表。
where子句表明将vendors中的vend_id与products表中的vend_id匹配起来.使用的是完全限定列名。 -
笛卡儿积
由没有联结条件的表关系返回的结果为笛卡尔积。检索出的行的数目将是第一个表中的行数乘以第二个表中的行数。 -
内联结
基于两个表之间的相等测试的这种联结也称为内联结。 -
联结多个表
SQL不限制一条select语句中可以联结的表的数目。创建联结的基本规则:首先列出所有的表,然后定义表之间的关系。
利用上面的关系表“返回订购产品RGAN01的顾客列表”,
嵌套查询:
select cust_name,cust_contact
from customers
where cust_id In (select cust_id
from orders
where order_num in(select order_num
from orderItems
where prod_id=‘RGAN01’))
内联结:
select cust_name,cust_contact
from customers,orders,orderitems
where customers.cust_id = order.cust_id
AND orderitems.order_num = orders.order_num
AND prod_id=‘RGAN01’
SQL基础十一【联结表】
最新推荐文章于 2024-10-09 22:03:16 发布
本文介绍了SQL中的联结操作,包括内联结和如何通过WHERE子句匹配不同表中的列。举例说明了如何从多个表中检索特定信息,如查找订购特定产品的客户列表,同时解释了没有联结条件时产生的笛卡尔积情况。内容涵盖了从基本的表联结到复杂查询的实现。
摘要由CSDN通过智能技术生成