您的位置:首页 > 数据库

SQL的多表连接语句

2018-03-19 09:26 155 查看
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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: