SQL中的连接可以分为内连接,外连接,以及交叉连接 . 1. 交叉连接CROSS JOIN 如果不带WHERE条件子句,它将会返回被连接的两个表的笛卡尔积,返回结果的行数等于两个表行数的乘积: 举例,下列A.B.C 执行结果相同,但是效率不一样: A:SELECT * FROM table1 CROSS JOIN table2 B:SELECT * FROM table1,table2 C:select * from table1 a inner join table2 b A:select a
参考链接(非常棒) 摘要 下面主要以两个例子进行说明: 例子1: 表A结构如下: select * from A | 表B结构如下: select * from B 两个表要做连接,就必须有个连接字段,在A表中的Aid和B表中的Bnameid就是两个连接字段. 下图3说明了连接的所有记录集之间的关系: 图3:连接关系图 要注意上图中标志的数字 现在我们对内连接和外连接一一讲解. 1.内连接:利用内连接可获取两表的公共部分的记录,即图3的记录集C 语句如下: Select * from A JOI
原文:你真的会玩SQL吗?内连接.外连接 大多数人一般写多表查询会这样写select * from tbA ,tbB 没有用到JOIN关键字,太Low了,官网标准建议是用JOIN明确表间的关系,下面具体来讲. 连接类型: 交叉联接 得到所连接表的所有组合 (笛卡儿集)cross join 内联接得到连接表的满足条件的记录组合inner join on 外联接(左.右)得到一个表的所有行,及其余表满 足连接条件的行 full | left | right outer join on 交
--内连接 inner join ... on --左外连接 left join ... on --右外连接 right join ... on 列: select * from students --需求:显示哪个班有学生--内连接 --特点 只有关联上的数据能够查询出来,--关联不上的数据无法查询出来select xxxfrom xx inner join classes c on stu.classid = c.classid --需求:所有的学生都在哪个班--外连接 左|右外
数据库版本:Oracle 9i 表TESTA,TESTB,TESTC,各有A, B两列 A B 001 10A 002 20A A B 001 10B 003 30B A B 001 10C 004 40C 连接分为两种:内连接与外连接. A.内连接 内连接,即最常见的等值连接,例: SELECT * FROM TESTA,TESTBWHERE TESTA.A=TESTB.A 结果 A B A B 001 10A 001 10B B.外连接 外连接分为左外连接,右外连接和全外连接. 1. 左外