使用左、右、全、内连接及使用where条件语句的区别
2016-07-07 17:08
330 查看
[align=center]使用左、右、全、内连接及使用where条件语句的区别[/align]
从学SQL语句到现在,从来没有使用过左右连接,也许会有人感到惊讶,但是确实是没有,因为我一直是使用的WHERE条件语句。我也想试一下效果,今天做了一下测试,终于知道WHERE条件就只能够做到连接中的内连接功能,因为它不可能把不满足条件的语句显示出来,不过,在大多数的生活实例中肯定是存在的,就像一个人的编号还存在,但是这个人的信息已经被删除掉了,这个编号已经没有实在意义了。
数据库:SQL SERVER 2000
建立任意数据库,并建立表:
create table t1(id int,name varchar(50),teacher int)
create table t2(id int,name varchar(50))
insert into t1 values(1,'aa',1)
insert into t1 values(2,'bb',2)
insert into t1 values(3,'cc',2)
insert into t1 values(4,'aa',3)
insert into t2 values(1,'张老师')
insert into t2 values(2,'王老师')
insert into t2 values(4,'冯老师')
1、分别使用左连接、右连接、全连接得如下结果:
左连接:select * from t1 left join t2 on t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/bf5ae83e3ec6467abfeec810a2efc697.png)
右连接:select * from t1 right join t2 on t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/8d24b753165146929269dc2e100f1d3c.png)
内连接:
select * from t1 inner join t2 on t1.teacher=t2.id
select * from t1 join t2 on t1.teacher=t2.id (默认为inner)
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/6534cb8e3c9a4febb206bda3008109a4.png)
全连接:select * from t1 full join t2 on t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/8f318849a93b4b69a3e68bb7aebdad8a.png)
2、使用WHERE条件进行连接查询:
select t1.*,t2.* from t1,t2 where t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/f8cb0d12533a4a2eb712ac71d137f13b.png)
WHERE无法得到左、右、全连接的效果。
转自
[align=center]使用左、右、全、内连接及使用where条件语句的区别[/align]
从学SQL语句到现在,从来没有使用过左右连接,也许会有人感到惊讶,但是确实是没有,因为我一直是使用的WHERE条件语句。我也想试一下效果,今天做了一下测试,终于知道WHERE条件就只能够做到连接中的内连接功能,因为它不可能把不满足条件的语句显示出来,不过,在大多数的生活实例中肯定是存在的,就像一个人的编号还存在,但是这个人的信息已经被删除掉了,这个编号已经没有实在意义了。
数据库:SQL SERVER 2000
建立任意数据库,并建立表:
create table t1(id int,name varchar(50),teacher int)
create table t2(id int,name varchar(50))
insert into t1 values(1,'aa',1)
insert into t1 values(2,'bb',2)
insert into t1 values(3,'cc',2)
insert into t1 values(4,'aa',3)
insert into t2 values(1,'张老师')
insert into t2 values(2,'王老师')
insert into t2 values(4,'冯老师')
1、分别使用左连接、右连接、全连接得如下结果:
左连接:select * from t1 left join t2 on t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/bf5ae83e3ec6467abfeec810a2efc697.png)
右连接:select * from t1 right join t2 on t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/8d24b753165146929269dc2e100f1d3c.png)
内连接:
select * from t1 inner join t2 on t1.teacher=t2.id
select * from t1 join t2 on t1.teacher=t2.id (默认为inner)
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/6534cb8e3c9a4febb206bda3008109a4.png)
全连接:select * from t1 full join t2 on t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/8f318849a93b4b69a3e68bb7aebdad8a.png)
2、使用WHERE条件进行连接查询:
select t1.*,t2.* from t1,t2 where t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/f8cb0d12533a4a2eb712ac71d137f13b.png)
WHERE无法得到左、右、全连接的效果。
转自 http://blog.csdn.net/fenglibing/article/details/1839889
[align=center]使用左、右、全、内连接及使用where条件语句的区别[/align]
从学SQL语句到现在,从来没有使用过左右连接,也许会有人感到惊讶,但是确实是没有,因为我一直是使用的WHERE条件语句。我也想试一下效果,今天做了一下测试,终于知道WHERE条件就只能够做到连接中的内连接功能,因为它不可能把不满足条件的语句显示出来,不过,在大多数的生活实例中肯定是存在的,就像一个人的编号还存在,但是这个人的信息已经被删除掉了,这个编号已经没有实在意义了。
数据库:SQL SERVER 2000
建立任意数据库,并建立表:
create table t1(id int,name varchar(50),teacher int)
create table t2(id int,name varchar(50))
insert into t1 values(1,'aa',1)
insert into t1 values(2,'bb',2)
insert into t1 values(3,'cc',2)
insert into t1 values(4,'aa',3)
insert into t2 values(1,'张老师')
insert into t2 values(2,'王老师')
insert into t2 values(4,'冯老师')
1、分别使用左连接、右连接、全连接得如下结果:
左连接:select * from t1 left join t2 on t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/bf5ae83e3ec6467abfeec810a2efc697.png)
右连接:select * from t1 right join t2 on t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/8d24b753165146929269dc2e100f1d3c.png)
内连接:
select * from t1 inner join t2 on t1.teacher=t2.id
select * from t1 join t2 on t1.teacher=t2.id (默认为inner)
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/6534cb8e3c9a4febb206bda3008109a4.png)
全连接:select * from t1 full join t2 on t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/8f318849a93b4b69a3e68bb7aebdad8a.png)
2、使用WHERE条件进行连接查询:
select t1.*,t2.* from t1,t2 where t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/f8cb0d12533a4a2eb712ac71d137f13b.png)
WHERE无法得到左、右、全连接的效果。
从学SQL语句到现在,从来没有使用过左右连接,也许会有人感到惊讶,但是确实是没有,因为我一直是使用的WHERE条件语句。我也想试一下效果,今天做了一下测试,终于知道WHERE条件就只能够做到连接中的内连接功能,因为它不可能把不满足条件的语句显示出来,不过,在大多数的生活实例中肯定是存在的,就像一个人的编号还存在,但是这个人的信息已经被删除掉了,这个编号已经没有实在意义了。
数据库:SQL SERVER 2000
建立任意数据库,并建立表:
create table t1(id int,name varchar(50),teacher int)
create table t2(id int,name varchar(50))
insert into t1 values(1,'aa',1)
insert into t1 values(2,'bb',2)
insert into t1 values(3,'cc',2)
insert into t1 values(4,'aa',3)
insert into t2 values(1,'张老师')
insert into t2 values(2,'王老师')
insert into t2 values(4,'冯老师')
1、分别使用左连接、右连接、全连接得如下结果:
左连接:select * from t1 left join t2 on t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/bf5ae83e3ec6467abfeec810a2efc697.png)
右连接:select * from t1 right join t2 on t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/8d24b753165146929269dc2e100f1d3c.png)
内连接:
select * from t1 inner join t2 on t1.teacher=t2.id
select * from t1 join t2 on t1.teacher=t2.id (默认为inner)
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/6534cb8e3c9a4febb206bda3008109a4.png)
全连接:select * from t1 full join t2 on t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/8f318849a93b4b69a3e68bb7aebdad8a.png)
2、使用WHERE条件进行连接查询:
select t1.*,t2.* from t1,t2 where t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/f8cb0d12533a4a2eb712ac71d137f13b.png)
WHERE无法得到左、右、全连接的效果。
转自
[align=center]使用左、右、全、内连接及使用where条件语句的区别[/align]
从学SQL语句到现在,从来没有使用过左右连接,也许会有人感到惊讶,但是确实是没有,因为我一直是使用的WHERE条件语句。我也想试一下效果,今天做了一下测试,终于知道WHERE条件就只能够做到连接中的内连接功能,因为它不可能把不满足条件的语句显示出来,不过,在大多数的生活实例中肯定是存在的,就像一个人的编号还存在,但是这个人的信息已经被删除掉了,这个编号已经没有实在意义了。
数据库:SQL SERVER 2000
建立任意数据库,并建立表:
create table t1(id int,name varchar(50),teacher int)
create table t2(id int,name varchar(50))
insert into t1 values(1,'aa',1)
insert into t1 values(2,'bb',2)
insert into t1 values(3,'cc',2)
insert into t1 values(4,'aa',3)
insert into t2 values(1,'张老师')
insert into t2 values(2,'王老师')
insert into t2 values(4,'冯老师')
1、分别使用左连接、右连接、全连接得如下结果:
左连接:select * from t1 left join t2 on t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/bf5ae83e3ec6467abfeec810a2efc697.png)
右连接:select * from t1 right join t2 on t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/8d24b753165146929269dc2e100f1d3c.png)
内连接:
select * from t1 inner join t2 on t1.teacher=t2.id
select * from t1 join t2 on t1.teacher=t2.id (默认为inner)
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/6534cb8e3c9a4febb206bda3008109a4.png)
全连接:select * from t1 full join t2 on t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/8f318849a93b4b69a3e68bb7aebdad8a.png)
2、使用WHERE条件进行连接查询:
select t1.*,t2.* from t1,t2 where t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/f8cb0d12533a4a2eb712ac71d137f13b.png)
WHERE无法得到左、右、全连接的效果。
转自 http://blog.csdn.net/fenglibing/article/details/1839889
[align=center]使用左、右、全、内连接及使用where条件语句的区别[/align]
从学SQL语句到现在,从来没有使用过左右连接,也许会有人感到惊讶,但是确实是没有,因为我一直是使用的WHERE条件语句。我也想试一下效果,今天做了一下测试,终于知道WHERE条件就只能够做到连接中的内连接功能,因为它不可能把不满足条件的语句显示出来,不过,在大多数的生活实例中肯定是存在的,就像一个人的编号还存在,但是这个人的信息已经被删除掉了,这个编号已经没有实在意义了。
数据库:SQL SERVER 2000
建立任意数据库,并建立表:
create table t1(id int,name varchar(50),teacher int)
create table t2(id int,name varchar(50))
insert into t1 values(1,'aa',1)
insert into t1 values(2,'bb',2)
insert into t1 values(3,'cc',2)
insert into t1 values(4,'aa',3)
insert into t2 values(1,'张老师')
insert into t2 values(2,'王老师')
insert into t2 values(4,'冯老师')
1、分别使用左连接、右连接、全连接得如下结果:
左连接:select * from t1 left join t2 on t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/bf5ae83e3ec6467abfeec810a2efc697.png)
右连接:select * from t1 right join t2 on t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/8d24b753165146929269dc2e100f1d3c.png)
内连接:
select * from t1 inner join t2 on t1.teacher=t2.id
select * from t1 join t2 on t1.teacher=t2.id (默认为inner)
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/6534cb8e3c9a4febb206bda3008109a4.png)
全连接:select * from t1 full join t2 on t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/8f318849a93b4b69a3e68bb7aebdad8a.png)
2、使用WHERE条件进行连接查询:
select t1.*,t2.* from t1,t2 where t1.teacher=t2.id
![](http://p.blog.csdn.net/images/p_blog_csdn_net/fenglibing/f8cb0d12533a4a2eb712ac71d137f13b.png)
WHERE无法得到左、右、全连接的效果。
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- 数据库链接字符串查询网站
- DB2实例管理
- DB2实例管理
- 保障MySQL数据安全的14个最佳方法
- mysql问答汇集
- 第三章 数据库备份和还原
- 创建一个空的IBM DB2 ECO数据库的方法
- Access 2000 数据库 80 万记录通用快速分页类
- 开通一个数据库失败的原因的和解决办法
- 一个简单的asp数据库操作类
- CentOS下DB2数据库安装过程详解
- EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)第1/2页
- sql2008 还原数据库解决方案
- Oracle 数据库自动存储管理-安装配置
- Oracle数据库执行脚本常用命令小结
- Oracle 数据库 临时数据的处理方法
- 数据库分页查询语句数据库查询
- 最近比较流行的数据库挂马