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。
第一:内连接
有两个表: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。
相关文章推荐
- Oracle常用命令_查看用户_新建user_连接user_授权user_版本_表空间查看_控制文件_日志_sql语句
- jdbc连接informix, SQL语句 绑定变量。
- Oracle 数据库连接查询SQL语句
- mysql5.7官网直译SQL语句优化--左右连接的优化
- 两个sql查询语句之间的左连接left join
- PB 数据库连接以及sql语句运行信息返回代码解释大全
- 一个表的两个列连接另外一个表的一个列SQL语句怎么写
- 关于PHP连接数据库SQL语句的易犯错误
- sql语句实现对于分组语句的连接
- Notes连接SQL Server与执行SQL语句
- 设置 mysql ODBC 连接以支持一次执行多条SQL语句
- SQL语句inner join,left join ,right join连接的不同之处(转)
- 关于SQL连接语句中的Integrated Security=SSPI/ture/false
- sql语句中连接join ,left join ,right join的使用
- 使用MyBatis一次执行多条SQL语句,需要配置jdbc连接串
- SQL语句的并集UNION,交集JOIN(内连接,外连接),交叉连接(CROSS JOIN笛卡尔积),差集(NOT IN)
- IT忍者神龟之中的一个句sql语句——连接同一字段的全部值
- SQL语句中的内连接,左链接,右链接和全链接
- 精妙SQL语句:复制表,拷贝表,外连接查询等
- LINQ to SQL连接数据库及语句