1、两个表:table_a和table_b,求两表的交集,关键字:INNER JOIN
SELECT a.*,b.* FROM table_a AS a INNER JOIN table_b AS b ON a.id=b.id;

2、两个表:table_a和table_b,table_a为主表,关联查询table_b,table_b有数据就显示,没有数据就显示null,关键字:LEFT JOIN
SELECT a.*,b.* FROM table_a AS a LEFT JOIN table_b AS b ON a.id=b.id;

3、两个表:table_a和table_b,table_b为主表,关联查询table_a,table_a有数据就显示,没有数据就显示null,关键字:RIGHT JOIN
SELECT a.*,b.* FROM table_a AS a RIGHT JOIN table_b AS b ON a.id=b.id;

4、两个表:table_a和table_b,求table_a表中有且table_b表没有的数据
SELECT a.*,b.* FROM table_a AS a LEFT JOIN table_b AS b ON a.id=b.id WHERE b.id IS NULL;

5、两个表:table_a和table_b,求table_b表中有且table_a表没有的数据
SELECT a.*,b.* FROM table_a AS a RIGHT JOIN table_b AS b ON a.id=b.id WHERE a.id IS NULL;

本文介绍了SQL中如何使用INNERJOIN、LEFTJOIN和RIGHTJOIN进行表之间的关联查询,以及如何处理一方数据缺失的情况,包括内连接显示匹配数据,左连接显示主表所有数据,右连接显示从表所有数据,以及使用ISNULL来检测空值。
987

被折叠的 条评论
为什么被折叠?



