-
创建联结
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基础十一【联结表】
最新推荐文章于 2022-04-11 20:14:53 发布