sql的交叉连接,内连接,左外连接,右外连接,全外连接总结
2015-05-23 10:39
316 查看
实践是最好的检验,一直都对这几个连接查询出来的结果有什么不同不大理解,然后自己放一块查询比较了一下,用结果来说话~
先建两张表如下:
t1:
id name age
1 张三 18
2 李四 25
t2:
id name age
1 王五 25
2 大白 30
1.交叉连接:也叫笛卡尔积
select * from t1 cross join t2; /*不带查询条件的交叉连接/
select * from t1 ,t2;/*这样默认是cross join/
select * from t1 cross join t2 where t1.age = t2.age;/*带查询条件的交叉连接,但是不能用on连接子句,只能用where /
2.内连接:查询结果是t1和t2的公有部分
select * from t1 inner join t2 on t1.age = t2.age;
可以看出当查询条件一样时交叉连接和内连接的查询结果一样,只不过交叉连接使用where子句作查询条件 而内连接用on子句作查询条件
3.左外连接:查询结果是左表的其它部分 再加上t1和t2的公有部分(这里左表即t1)
select * from t1 left join t2 on t1.age = t2.age;
3.右外连接:查询结果是t1和t2的公有部分 再加上右表的其它部分(这里右表即t2)
select * from t1 right join t2 on t1.age = t2.age;
4.全外连接:查询结果是t1和t2的公有部分 再加上左表和右表的其它部分
select * from t1 full join t2 on t1.age = t2.age;
注:hibernate中用.关联的是一个实体或组件是默认是采用交叉连接,但是不能关联一个集合,否则报错。所以在hibernate中对于集合我们要显示使用内连接。
先建两张表如下:
t1:
id name age
1 张三 18
2 李四 25
t2:
id name age
1 王五 25
2 大白 30
1.交叉连接:也叫笛卡尔积
select * from t1 cross join t2; /*不带查询条件的交叉连接/
select * from t1 ,t2;/*这样默认是cross join/
select * from t1 cross join t2 where t1.age = t2.age;/*带查询条件的交叉连接,但是不能用on连接子句,只能用where /
2.内连接:查询结果是t1和t2的公有部分
select * from t1 inner join t2 on t1.age = t2.age;
可以看出当查询条件一样时交叉连接和内连接的查询结果一样,只不过交叉连接使用where子句作查询条件 而内连接用on子句作查询条件
3.左外连接:查询结果是左表的其它部分 再加上t1和t2的公有部分(这里左表即t1)
select * from t1 left join t2 on t1.age = t2.age;
3.右外连接:查询结果是t1和t2的公有部分 再加上右表的其它部分(这里右表即t2)
select * from t1 right join t2 on t1.age = t2.age;
4.全外连接:查询结果是t1和t2的公有部分 再加上左表和右表的其它部分
select * from t1 full join t2 on t1.age = t2.age;
注:hibernate中用.关联的是一个实体或组件是默认是采用交叉连接,但是不能关联一个集合,否则报错。所以在hibernate中对于集合我们要显示使用内连接。
相关文章推荐
- SQL的几种连接:内连接、左连接、右连接、全连接、交叉连接
- SQL 多表查询(内连接、外连接和交叉连接,)
- SQL 连接 JOIN 例解。(左连接,右连接,全连接,内连接,交叉连接,自连接)
- SQL各种连接——自连接、内连接、外连接、交叉连接的使用
- sql 连接查询总结
- SQL各种Join连接总结
- SQL 连接 JOIN 例解。(左连接,右连接,全连接,内连接,交叉连接,自连接)
- SQL 连接 JOIN 例解。(左连接,右连接,全连接,内连接,交叉连接,自连接)
- SQL的并集UNION,交集JOIN,交叉连接(CROSS JOIN笛卡尔积),差集(NOT IN)
- SQL 连接 JOIN 例解。(左连接,右连接,全连接,内连接,交叉连接,自连接)
- SQL 连接 JOIN 例解。(左连接,右连接,全连接,内连接,交叉连接,自连接)
- SQL--连接字符串总结
- SQL连接查询总结和练习
- T-SQL 表连接(内连接,外连接,交叉连接)
- SQL连接查询总结
- SQL各种Join连接总结
- SQL-SERVER表连内连接、外连接和交叉连接
- Oracle PL/SQL之内联接、外联接、交叉连接
- VC2008连接SQL2005开发总结
- oracle连接总结(内连接、外连接、自然连接,交叉连接,自连接)