Oracle多表连接方法

  1. 笛卡尔连接【结果集为各表记录的乘积】
    • SELECTt * FROM table_1, table_2, table_n
    • SELECTt * FROM table_1 CROSS JOIN table_2 CROSS JOIN table_n
  2. 内连接,返回多个表中满足条件的记录,条件最小为连接表的数量 - 1,根据连接条件中的运算符又分为 等值连接非等值连接;如果连接条件为一个范围的则为不等连接,否则为等值连接。
    • SELECT * FROM table_1, table_2 WHERE conditions
    • SELECT * FROM table_1 [INNER] JOIN table_2 ON conditions
  3. 外连接
    • 左外连接,将左表中的记录分别与右表中每条记录进行组合,结果集中除返回连的记录外,还返回左表中不符合条件的记录,并在右表的相应列中填上NULL。
    • SELECT * FROM table_1 LEFT [OUTER] JOIN table_2 ON conditions
    • 右外连接,与左外连接相类似,不同之处为右外连接返回的是右表中不符合 条件的记录,并在左表的相应列中填充NULL。
    • SELECT * FROM table_1 RIGHT [OUTER] JOIN table_2 ON conditions
    • 全外连接,将左表中的记录分别与右表中每条记录进行组合,结果集中除返回连的记录外,还将返回左右表中不符合条件的记录,并在左右表的相应列添加NULL。
    • SELECT * FROM table_1 FULL [OUTER] JOIN table_2 ON conditions

猜你喜欢

转载自www.cnblogs.com/Focus-Flying/p/9222886.html