• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >数据库其它 > 数据库中的左连接(left join)和右连接(right join)区别

数据库中的左连接(left join)和右连接(right join)区别

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了right join left join,left right join,数据库left join,数据库中left join,left join等相关知识,希望本文的分享对您有所帮助
Left Join / Right Join /inner join相关

关于左连接和右连接总结性的一句话:

左连接 where只影向右表,右连接where只影响左表。

Left Join

select * from tbl1 Left Join tbl2 where tbl1.ID = tbl2.ID

左连接后的检索结果是显示tbl1的所有数据和tbl2 中满足where 条件的数据。

简言之 Left Join影响到的是右边的表

Right Join

select * from tbl1 Right Join tbl2 where tbl1.ID = tbl2.ID

检索结果是tbl2的所有 数据和tbl1中满足where 条件的数据。

简言之 Right Join影响到的是左边的表。

inner join

select * FROM tbl1 INNER JOIN tbl2 ON tbl1.ID = tbl2.ID

功能和 select * from tbl1,tbl2 where tbl1.id=tbl2.id相同。

其他相关资料

1 .WHERE子句中使用的连接语句,在数据库语言中,被称为隐性连接。INNER JOIN……ON子句产生的连接称为显性连接。(其他JOIN参数也是显性连接)WHERE 和INNER JOIN产生的连接关系,没有本质区别,结果也一样。但是!隐性连接随着数据库语言的规范和发展,已经逐渐被淘汰,比较新的数据库语言基本上已经抛弃了隐 性连接,全部采用显性连接了。

2 .无论怎么连接,都可以用join子句,但是连接同一个表的时候,注意要定义别名,否则产生错误!

a> inner join:理解为“有效连接”,两张表中都有的数据才会显示left join:理解为“有左显示”,比如on a.field=b.field,则显示a表中存在的全部数据及a\\b中都有的数据,A中有、B没有的数据以null显示

b> right join:理解为“有右显示”,比如on a.field=b.field,则显示B表中存在的全部数据及a\\b中都有的数据,B中有、A没有的数据以null显示

c> full join:理解为“全连接”,两张表中所有数据都显示,实际就是inner +(left-inner)+(right-inner)

3 .join可以分主次表 外联接有三种类型:完全外联,左联,右联.
完全外联包含两张表的所有记录.
左联是以左边的表为主,右边的为 辅,右联则相反

4.一般要使得数据库查询语句性能好点遵循一下原则:

在做表与表的连接查询时,大表在前,小表在
不 使用表别名,通过字段前缀区分不同表中的字段
查询条件中的限制条件要写在表连接条件前
尽量使用索引的字段做为查询条件 </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • SQL之left join、right join、inner join的区别浅析
  • 数据库中的左连接(left join)和右连接(right join)区别

相关文章

  • 2017-05-11收藏的SQLServer技巧集
  • 2017-05-11以前架征途时的合区的SQL语句代码备份
  • 2017-12-08bi数据仓库的模型设计
  • 2017-05-11一条DELETE语句
  • 2017-05-11sql语句中where和having的区别
  • 2017-05-11ADO,OLEDB,ODBC,DAO,RDO的区别说明
  • 2017-05-11如何让SQL运行得更快
  • 2017-08-25mybatis if else 判断 传入整数为0时 不能过滤的解决方案
  • 2017-05-11redis安装、配置、使用和redis php扩展安装教程
  • 2017-05-11SQL server 2005的表分区

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 问个高难度的复杂查询(在一个时间段内的间隔查询)
    • 漫谈16S的前世今生
    • 深入讲解SQL中的字符串拼接
    • hadoop map-reduce中的文件并发操作
    • 交叉表查询sql语句
    • 数据库索引解析
    • 也许是被忽略的update语句(update技巧)
    • sql注入之手工注入示例详解
    • redis数据库查找key在内存中的位置的方法
    • 主键与聚集索引

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有