数据库左连接右连接
来源:互联网 发布:威廉.菲德内尔 知乎 编辑:程序博客网 时间:2024/05/21 09:00
一般所说的左连接,外连接是指左外连接,右外连接。
1、先说左外连接和右外连接:
先来查看一下我们要测试的两个表的数据:
select * from t1;
id name1aaa2bbbselect * from t2;
idage130对于左外联接:
SQL LEFT JOIN 关键字
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ONtable_name1.column_name=table_name2.column_name
注释:在某些数据库中, LEFT JOIN 称为 LEFT OUTER JOIN。
select t1.id,t1.`name`,t2.id,t2.age from t1LEFT JOIN t2 ON t1.id= t2.id;
idnameid1age1aaa1202bbbnullnull对于右外连接:
语法:
SELECT column_name(s)FROM table_name1RIGHT JOIN table_name2 ON table_name1.column_name=table_name2.column_name
注释:在某些数据库中, RIGHT JOIN 称为 RIGHT OUTER JOIN。
select t1.id,t1.`name`,t2.id,t2.age from t1RIGHT JOIN t2 ON t1.id= t2.id;
从上面的显示你可以看出:左外连接是以左边的表为基准。通俗的讲,先将左边的表全部显示出来,然后右边的表id与左边表id相同的记录就“拼接”上去,比如说id为1的记录。如果没有匹配的id,比如说t1中id为2的t2中就没有。那边就以null显示。
右外连接过程正好相反。
2、再看内连接:
语法:
SELECT column_name(s)FROM table_name1INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name
注释:INNER JOIN 与 JOIN 是相同的。
select * from t1 inner join t2 ont1.id=t2.id;
idnameid1age1aaa120看到没有? 只有一条记录。内连接就是只取出符合过滤条件的记录 也就是t1.id=t2.id 那么符合t1.id=t2.id的记录只有id=1这一条,所以只显示一条。 不像外连接,是将你作为基准的表(左外连接就是左边表为基准,右外连接就是右边表为基准)的所有行都显示出来。
转自(http://blog.csdn.net/zlp5201/article/details/38715861)
- 数据库左连接右连接
- 数据库左连接,右连接,外连接
- 数据库:左连接 、右连接 、全连接
- 数据库的左连接,右连接问题
- 数据库的左连接和右连接
- 数据库左连接,右连接区别解析
- 数据库中的左连接和右连接
- 数据库的左连接和右连接
- 左连接、右连接
- 左连接,右连接
- 左连接,右连接
- 左连接,右连接,+
- SQL数据库查询 左连接、右连接、内连接 实例
- 数据库 左连接 右连接 全连接用法小结
- mysql数据库中实现内连接、左连接、右连接
- 数据库中左连接,右连接,全连接
- 数据库: 左连接/右连接/全连接(详细)
- 数据库操作语句 左连接,右连接,内连接
- Android O(8.0)音频write数据流程变化(HIDL)
- 秋招面试经验分享-阿里,cvte,迅雷,网龙,美团,已拿Offer
- 一个简单的多线程的大数据信息检索程序
- leetcode 2 Add Two Numbers【更新】
- 字符编码详解——彻底理解掌握编码知识,“乱码”不复存在
- 数据库左连接右连接
- Jzoj4787 数格子
- bower安装完成后,无法执行bower install jquery等命令?
- vue 2.0 v-for 初体验
- 二分k均值聚类
- redis应用【二】 -- redis的几种数据结构
- 人脑理解递归
- 测试系列-Charles https协议怎么抓
- 1007计算(a+b)*c的值