通用SQL数据库的查询语句 (5)

 

 

 

 

(二)外连接

 

内连接时,返回查询结果集合中的仅是符合查询条件( WHERE 搜索条件或 HAVING 条件)和连接条件的行。而采用外连接时,它返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左外连接时)、右表(右外连接时)或两个边接表(全外连接)中的所有数据行。如下面使用左外连接将论坛内容和作者信息连接起来:

 

SELECT   a.*,b.*   FROM   luntan   LEFT   JOIN   usertable   as   b 

ON   a.username=b.username

 

 

 

 

下面使用全外连接将city表中的所有作者以及user表中的所有作者,以及他们所在的城市:

 

SELECT   a.*,b.* 

FROM   city   as   a   FULL   OUTER   JOIN   user   as   b 

ON   a.username=b.username

 

 

 

 

(三)交叉连接

 

交叉连接不带WHERE 子句,它返回被连接的两个表所有数据行的笛卡尔积,返回到结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。例,titles表中有6类图书,而publishers表中有8家出版社,则下列交叉连接检索到的记录数将等。

 

于6*8=48行。   SELECT   type,pub_name 

FROM   titles   CROSS   JOIN   publishers 

ORDER   BY   type 

[Post=0][/Post]

你可能感兴趣的:(通用SQL数据库的查询语句 (5))