使用左、右、全、内连接及使用where条件语句的区别
2007-10-23 16:48
316 查看
使用左、右、全、内连接及使用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
右连接:select * from t1 right join t2 on t1.teacher=t2.id
内连接:
select * from t1 inner join t2 on t1.teacher=t2.id
select * from t1 join t2 on t1.teacher=t2.id (默认为inner)
全连接:select * from t1 full join t2 on t1.teacher=t2.id
2、使用WHERE条件进行连接查询:
select t1.*,t2.* from t1,t2 where t1.teacher=t2.id
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
右连接:select * from t1 right join t2 on t1.teacher=t2.id
内连接:
select * from t1 inner join t2 on t1.teacher=t2.id
select * from t1 join t2 on t1.teacher=t2.id (默认为inner)
全连接:select * from t1 full join t2 on t1.teacher=t2.id
2、使用WHERE条件进行连接查询:
select t1.*,t2.* from t1,t2 where t1.teacher=t2.id
WHERE无法得到左、右、全连接的效果。
本文出自:冯立彬的博客
相关文章推荐
- 使用左、右、全、内连接及使用where条件语句的区别
- select中使用where条件查询语句使用和不使用小括号的区别
- ireport中当使用connection方式获得数据源时如何构造sql语句的where条件。
- SQL语句where与having区别、内连接,外连接,左右外连接,交叉连接
- 转:SQL:外连接on条件与where条件的区别
- SQL语句Where中使用别名作为判断条件
- SQL语句学习,外连接与条件配合使用 (转载)
- 对数据库根据符合条件的记录 逐个进行更新使用的连接语句
- 左外连接与where语句的区别
- 在ASP中使用SQL语句之2:用WHERE子句设置查询条件
- sql 语句中where条件和jion on条件的区别
- (译)MySQL:在 WHERE 条件语句中使用 IF 语句
- 外连接 ON 条件的三个作用 SQL中on条件与where条件的区别
- yii框架中findall方法取数据使用总结,包括select各种条件,where条件,order by条件,limit限制以及使用单纯sql语句query时占位符的使用等
- 外连接 ON 条件的三个作用 SQL中on条件与where条件的区别
- SQL语句Where中使用别名作为判断条件
- Mysql Update语句 SET多字段时,使用 逗号连接和AND连接的区别
- MySQL执行update 语句忘加where条件后使用mysqlbinlog搭配sed命令完美还原
- SQL语句中Where后面最多能连接多少个条件
- 在使用left jion时,on和where条件的区别