码迷,mamicode.com
首页 > 其他好文 > 详细

第十六章:创建高级联结

时间:2019-11-07 19:10:02      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:方便   介绍   返回   也会   auth   left join   外部   通配符   并且   

@author: Tobin
@date: 2019/10/31 19:27:19

介绍如何实现表别名(被联结的表也可以重新命名,方便使用),以及聚集函数。

# 自联结,也可以用子查询来实现
# 这里首先p2已经进行了行的筛选
SELECT p1.prod_id, p1.prod_name
FROM products AS p1, products AS p2
WHERE p1.vend_id = p2.vend_id
AND p2.prod_id ='DTNTR';

# 自然联结
# 只返回唯一的列,不会出现重复的列
# 此处省略,使用通配符,c是表名。
SELECT c.*,...

# 外部联结,没用出现的行也会被返回
# 内部联结,是返回共同出现的那些行
# LEFT JOIN ,LEFT和RIGHT决定了没有出现的行,返回的是左边的表,还是右边的表
# RIGHT JOIN
SELECT customers.cust_id, orders.order_num
FROM customers LEFT OUTER JOIN orders
ON customers.cust_id = orders.cust_id;

# 对联结表使用聚合函数
SELECT customers.cust_name, 
               customers.cust_id,
               COUNT(orders.order_num) AS num_ord
FROM customers INNER JOIN orders
ON customers.cust_id = orders.cust_id;
GROUP BY customers.cust_id;

# 联结注意的问题
# 保证使用正确的联结条件,并且应该总是提供联结条件,负责返回笛卡儿积

第十六章:创建高级联结

标签:方便   介绍   返回   也会   auth   left join   外部   通配符   并且   

原文地址:https://www.cnblogs.com/zuotongbin/p/11814163.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!