Oracle
 sql >> база данни >  >> RDS >> Oracle

Каква е разликата между ANSI и не-ANSI съединения и кое препоръчвате?

и двата синтаксиса обикновено работят без проблеми, но ако се опитате да добавите условие where, ще видите, че с втория е много по-лесно да разберете кое е условието за присъединяване и кое е клаузата where.

1)

  SELECT a.name,
         a.empno,
         b.loc 
    FROM tab a,
         tab b 
   WHERE a.deptno = b.deptno(+)
     AND a.empno = 190;

2)

         SELECT a.name,
                a.empno,
                b.loc 
           FROM tab a,
LEFT OUTER JOIN tab b 
             ON a.deptno = b.deptno
          WHERE a.empno = 190;

Освен това е много по-лесно да разпознаете външно съединение и не забравяйте да включите (+). Като цяло можете да кажете, че това е просто въпрос на вкус, но истината е, че вторият синтаксис е много по-четлив и по-малко склонен към грешки.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Base64 кодиране и декодиране в oracle

  2. Стъпка по стъпка R12.2.6 Инсталиране на EBS на Virtual Box

  3. Да затворите или да не затворите Oracle връзка?

  4. Повреда на датата на Oracle по време на актуализация

  5. Грешка:PLS-00428:Очаква се клауза into в този оператор за избор