5.2 子查询 连结

子查询 嵌套在其它查询中的查询

子查询总是从内向外处理。

作为计算字段使用子查询。

Select name , state,  (select count (*) from orders whereorder.id=customer.id) as orders from customers .


利用子查询进行过滤

Select name, contact, from customers whereid in

(select id from order where num in

(select num from ordertimer where pro_id=5))

利用内部连接也可以达到这样的效果,如下

Select name,contact from customer, order,ordertime where custom.id=order.id  andordertime.num=order,num  and pro_id=5;     



1.  selectprod_id, prod_name from products where vend_id in (select vend_id from productswhere prod_id= 'DTNTR');


2。select  p1.prod_id, p1.prod_name  fromproducts as p1, products as p2 wherep1.veng_id=p2.vend_id and p2.pro_id=’DTNTR’

同一个表也可以用自连接 1和2 表达的含义是相同的。



Union 会从查询结果中自动去除重复行,,这是union的默认行为,但是如果需要,可以改变它,如果想返回所有匹配行,可使用union

all 而不是union.zs


r

你可能感兴趣的:(5.2 子查询 连结)