【MySQL】联接表

JOIN可以将两个表之间的信息关联起来,是SQL中一个强大的功能。使用联接时,需要注意下面的两个错误:

  • “错误地”丢失数据集中的数据
  • “错误地”添加意想不到的额外数据

1. 内连接查询

内连接查询(INNER JOIN)==是组合两个表中的记录,返回关联字段相符的记录,也就是返回两个表的交集部分。==

内连接中,两个表之间的关系通过 INNER JOIN 指定,ON 后面接指定的条件。

#内连接
SELECT suppliers.s_id,s_name,f_name,f_price
FROM fruits INNER JOIN suppliers
ON fruits.s_id = suppliers.s_id;

2. 外连接查询

许多联接将一个表中的行与另一个表中的行相关联。但有时候需要包含没有关联行的那些行。联接中包含了在相关表中没有关联行的行,这种类型的联接称为外连接。外连接分为左外连接和右外连接。

  • LEFT JOIN(左连接):左表的记录将全部表示出来,而右表只会显示符合搜索条件的记录。
  • RIGHT JOIN(右连接):右表的记录将全部表示出来,而左表只会显示符合搜索条件的记录。
1) LEFT JOIN左连接
SELECT customers.c_id,orders.0_num
FROM customers LEFT OUTER JOIN orders
ON customers.c_id = orders.c_id;
2) RIGHT JOIN右连接
SELECT customers.c_id,orders.0_num
FROM customers RIGHT OUTER JOIN orders
ON customers.c_id = orders.c_id;

3. 使用带聚集函数的联接

SELECT customers.cust_name,
        customers.cust_id,
        COUNT(orders.order_num) as num_ord
FROM customers INNER JOIN orders
ON coustomers.cust_id = orders.cust_id
GROUP BY costomers.cust_id;
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容