Home > Database > Mysql Tutorial > body text

分析一下聚合函数与连接表的组合使用_MySQL

WBOY
Release: 2016-06-01 13:35:22
Original
1664 people have browsed it

bitsCN.com

分析一下聚合函数与连接表的组合使用

 

看这样一个关系

Customers(cust_id,cust_name,cust_contact)

Orders(order_num,cust_id,order_date)

 

如果有这样的检索语句:

Sql代码  

select cust_name,cust_contact,(  

  

    select count(*) from Orders  

  

                    where Orders.cust_id=Customers.cust_id  

  

                       group by cust_id)  

from Customers  

 

其运作步骤为:

1.从Orders表中检索出每个cust_id所具有的订单数量

可以那么做,因为孤立摆出count(*)是在group by 顾客编号基础上聚合的。

并且在聚合的之前,先进行连接表操作。把orders , Customers连接起来了。

这样内外只的就是同意顾客的信息.

 

2.外层列出其他需要的顾客信息。

注意点:

内层的通常用做单独孤立的聚合函数,

内层的分组操作前必须给出与外层的连接条件。

外层的select后面的选择列基本都是在外面的表里。

总结,这个句子究竟属于子查询呢还是普通的连接。

很明显。是子查询,以为是select 里面包含一个select 句子。

非常特殊,子句可以用作一个检索列!~就是这样。

以后碰到突然要分组但是又涉及两个不同的表,可以尝试这样的思路。

 

bitsCN.com
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!