内连接(INNER JOIN):有两种,显式的和隐式的,返回连接表中符合连接条件和查询条件的数据行。(所谓的链接表就是数据库在做查询形成的中间表)。
 
例如:下面的语句3和语句4的结果是相同的。
语句3:隐式的内连接,没有INNER JOIN,形成的中间表为两个表的笛卡尔积。
SELECT O.ID,O.ORDER_NUMBER,C.ID,C.NAME
FROM CUSTOMERS C,ORDERS O
WHERE C.ID=O.CUSTOMER_ID;
 
语句4:显示的内连接,一般称为内连接,有INNER JOIN,形成的中间表为两个表经过ON条件过滤后的笛卡尔积。
SELECT O.ID,O.ORDER_NUMBER,C.ID,C.NAME
FROM CUSTOMERS C INNER JOIN ORDERS O ON C.ID=O.CUSTOMER_ID;

 

外连接的Oracle和DB2的写法(右外连接,左外连接,完全外连接,组合外连接)

  Oracle可以这样实现﹕Select a.* from bsempms a,bsdptms b where a.dpt_no=b.dpt_no(+); Select a.* from bsempms a,bsdptms b wherea.dpt_no(+)=b.dpt_no;

   DB2 可以这样实现﹕Select * from db2admin.bsempms right outer join db2admin.bsdptms on db2admin.bsempms.dpt_no=db2admin.bsdptms.dpt_no; Select * from db2admin.bsempms left outer join db2admin.bsdptms on db2admin.bsempms.dpt_no=db2admin.bsdptms.dpt_no; Select * from db2admin.bsempms full outer join db2admin.bsdptms on db2admin.bsempms.dpt_no=db2admin.bsdptms.dpt_no;