SQL的多表连接语句

SQL的多表连接语句

第一:内连接
有两个表:testA(id、name、sex)、testB(id、class、grade)
sql语句:
select testA.id,testA.name,testA.sex,testB.id,testB.class,testB.grade
from testA inner into testB
on testA.id=testB.id;
查询结果:testA会找到testB中唯一对应的一列进行连接;

第二:外链接
外链接分为:左外连接、右外链接,全外链接;
(1)左外连接:除了返回两个表中满足连接条件外的元组外还返回左侧表中不匹配的元组,而右侧表的相应元组则以NULL代替;
sql语句:
select testA.id,testA.name,testA.sex,testB.id,testB.class,testB.grade
from testA left join testB
on testA.ID=testB.ID
(2)右外连接:除了返回两表中满足连接条件的元组外,还返回右侧表中不匹配元组,而左侧表的相应元组则以NULL代替。
sql语句:
select testA.id,testA.name,testA.sex,testB.id,testB.class,testB.grade
from testA right join testB
on testA.ID = testB.ID
(3)全外连接:除了返回两表中满足连接条件的元组外,还返回左侧表中不匹配的元组,而右侧表的相应元组则以NULL代替,同时还返回右侧表中不匹配元组,而左侧表的相应元组则以NULL代替。
sql语句:
select testA.id,testA.name,testA.sex,testB.id,testB.class,testB.grade
from testA full join testB
on testA.ID = testB.ID

第三:UNION和UNION ALL
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。(UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。)
UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。

    原文作者:SQL
    原文地址: https://blog.csdn.net/to_myslef/article/details/79607053
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞