文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>SQL语言之自然连接

SQL语言之自然连接

时间:2010-08-31  来源:jcbut2008

 

纯自然连接(NATUAL JOIN):

  • 纯自然连接:当源表和目标表共享相同名称的列时,就可以在它们之间执行自然连接,而无需指定连接列。
  • 语法:(SQL:1999)SELECT table1.column, table2.column FROM table1 NATURAL JOIN table2;

   (传统oracle)SELECT table1.column, table2.column FROM table1, table2;

例:

select region_name

from regions natural join countries

where country_name='Canada';

REGION_NAME              

-------------------------

Americas   

  • 在使用纯自然连接时,如没有相同的列时,会产生交叉连接(笛卡尔乘积)。

 

自然JOIN USING连接:

  • 当源表和目标表中有多个相同的列名,而您不希望它们作为连接列时,可以使用JOIN…USING格式。
  • 语法:(SQL:1999)SELECT table1.column, table2.column FROM table1  JOIN table2 USING (join_column1, join_column2,…);

   (传统oracle)SELECT table1.column, table2.column FROM table1, table2 WHERE table1.column=table2.column  ;

  • 关键字USING与NATURAL不能同时出现。

注:oracle没有强加任何规则表明两个离散表中具有相同名称的列必须彼此相关。

例:

select region_name

from regions join countries

using (region_id)

where country_name='Canada';

REGION_NAME              

-------------------------

Americas 

 

自然JOIN ON连接:

  • 显示陈述连接列,可以使用JOIN...ON格式。
  • 语法:(SQL:1999)SELECT table1.column, table2.column FROM table1  JOIN table2 ON (table1.column=table2.column);

   (传统oracle)SELECT table1.column, table2.column FROM table1, table2 WHERE table1.column=table2.column  ;

  • 关键字ON与NATURAL不能同时出现。

 

例:

select region_name

from regions R join countries C

on (R.region_id=C.region_id)

where country_name='Canada';

REGION_NAME              

-------------------------

Americas 

  • JOIN...ON子句也可以用来指定一些条件,这些条件限制连接创建的结果集。

例:

Select d.department_name
from departments d join locations l
on(l.location_id=d.location_id and d.department_name like 'P%');

相当于

Select d.department_name
from departments d join locations l
on(l.location_id=d.location_id)

Where  d.department_name like 'P%';

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载